[dvblast-devel] fewer PMT filters

Georgi Chorbadzhiyski gf at unixsol.org
Fri Oct 25 19:00:59 CEST 2013


On 25.10.2013 г. 19:55, Georgi Chorbadzhiyski wrote:
> On 25.10.2013 г. 19:24, Stas Sergeev wrote:
>> I am trying to adapt dvblast into our embedded system.
>> My goal is very simple: to get one program from linuxDVB
>> and stream it to the network with udp.
>> The problem I currently have, is that when dvblast receives PAT,
>> it immediately sets filters for all the PMT pids it have found
>> in PAT. Even though the output is configured for single
>> program only, so 1 PMT filter would be enough.
>> The problem is that our system is very short on filters, and
>> this behaviour is unacceptable.
>>
>> Is there any switch to tell dvblast to not allocate the unnecessary
>> PMT filters? If there is none, how difficult would it be to add
>> such an option?
>
> I bet you are using configuration file:
>
>      690         case 'c':
>      691             psz_conf_file = optarg;
>      692             /*
>      693              * When configuration file is used it is reasonable to assume that
>      694              * services may be added/removed. If b_select_pmts is not set dvblast
>      695              * is unable to start streaming newly added services in the config.
>      696              */
>      697             b_select_pmts = 1;
>      698             break;
>
> I have added this to turn on -w (--select-pmts set a PID filter on all PMTs)
> option because otherwise when using config file there were problems.
>
> Just remove b_select_pmts = 1 from config file case 'c' and you'll be fine
> as long as no dynamic reconfiguration is required.

As alternative you can apply this patch and then use --select-pmts option
*after* setting configuration file by using --config-file.

dvblast .... --config-file blah --select-pmts

diff --git a/dvblast.c b/dvblast.c
index 5412307..0e14304 100644
--- a/dvblast.c
+++ b/dvblast.c
@@ -823,7 +823,7 @@ int main( int i_argc, char **pp_argv )
              break;

          case 'w':
-            b_select_pmts = 1;
+            b_select_pmts = !b_select_pmts;
              break;

          case 'U':

-- 
Georgi Chorbadzhiyski | http://georgi.unixsol.org/ | http://github.com/gfto/


More information about the dvblast-devel mailing list