[vlc-devel] [Wallace Wadge <wwadge at gmail.com>] [PATCH] Multiple PMT and SDT support in ts.c

System administration admin at via.ecp.fr
Sat Aug 27 08:47:09 CEST 2005


 The deleted attachment is at:
    <http://www.videolan.org/~admin/20050827-videolan/ts.c.gz>

----- Forwarded message from Wallace Wadge <wwadge at gmail.com> -----

From: Wallace Wadge <wwadge at gmail.com>
Date: Fri, 26 Aug 2005 19:14:06 +0200
To: vlc-devel at videolan.org
Subject: [PATCH] Multiple PMT and SDT support in ts.c
X-Spam-Status: No, score=1.0 required=5.0 tests=RCVD_BY_IP,RCVD_IN_ORBS 
	autolearn=no version=3.0.3

Hi,

I have a UDP source streaming out multiple components of a number of
programs all at once. Looking at the code I realised that ts.c (the
output mux) was simply combining everything into one pmt and no sdt
support was available.

The attached modifications adds this support.

Since we have more than one PMT, some flags have been changed (and
others added). Here's a summary:

--sout-ts-muxpmt
This defines the grouping of each pmt. The syntax is:
--sout-ts-muxpmt="firstpid,secondpid,thirdpid,,firstpid,secondpid,thirdpid"  
Note the double comma which separates one mux from the next.  IMPORTANT:
You must have --ts-es-id-pid set too because otherwise it will no longer
be able to map the pids.

--sout-ts-program-pmt
This has changed from a simple integer to a list since now we have a
number of pmt's. Syntax is:
--sout-ts-program-pmt="firstprog,secondprog,thirdprog"

--sout-ts-sdtdesc
This lets you define the network provider and service name. The order
you set this up reflects the pmt's you set up via the --sout-ts-muxpmt.
For example:
--sout-ts-sdtdesc="Foo,Disney,Bar,MTV,Random,VH1" would mean that the
first pmt will have a service name of "Disney" with "Foo" being the
provider, mux#2 would be named MTV with "Bar" as the provider etc.

Here's a full blown example:

vlc <the input stuff> <the output stuff>
--sout-ts-muxpmt="0x451,0x200,0x28a,0x240,,0x450,0x201,0x28b"
--ts-es-id-pid --sout-ts-program-pmt="500,501"
--sout-ts-sdtdesc="CoolCompany,NiceProgram1,CoolCompany2,NiceProgram2"


So NiceProgram1 from CoolCompany is transmitted on channel 500 having
components with pids 0x451,0x200,0x28a,0x240
and NiceProgram2 from CoolCompany2 is transmitted on channel 501  with
components 0x450,0x201,0x28b


Notes:

- I have no SVN write access so I can't commit this myself. Will someone
do it please? I based this code on the stable 0.8.2. Only one file is
affected so it's a drop in replacement
- You need the libdvbpsi >= 0.1.5
- I tested this both on a stream analyser as well on a full blown
production environment i.e vlc --> Digital Terrestrial Set Top Box and
it works well (I work with a DTV company)
- I compiled this on a linux box.

P.S Why is GetPMT recreating everything all over again each time? I
haven't optimised this yet since I'm uncertain of the intended behaviour.

Comments ?

Best regards,
Wallace Wadge



----- End forwarded message -----

-- 
System administration <admin at via.ecp.fr>
VIA, Ecole Centrale Paris, France

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list