mpegtsmux program number bug?
Jesper Larsen
knorr.jesper at gmail.com
Wed Jun 10 00:37:22 PDT 2015
There's actually already a bug with a proposed fix for this.
https://bugzilla.gnome.org/show_bug.cgi?id=746765
On Wed, Jun 10, 2015 at 8:24 AM, Jan Schmidt <thaytan at noraisin.net> wrote:
> On 09/06/15 21:24, Peter Maersk-Moller wrote:
>
> Hi Peter,
>
> Forgot to mention. The supposedly program-number bug is tested with
>> GStreamer 1.4.5.
>>
>
> The restricted range of the program number field is a limitation of the
> way the MPEG-TS muxer is implemented - storing all programs in a fixed
> array of 32 entries. As you've noted, any request for a higher program
> number is ignored.
>
> I didn't realise any mapping uses explicit program numbers for anything
> specific, so I'm interested to hear you mention ATSC there. I've always
> thought of them as an arbitrary identifier that just has to be unique.
>
> If you have a real need for higher program numbers, it'll require some
> enhancement of the mpeg-ts muxer - a task that's arguably long overdue for
> other reasons too.
>
> - Jan.
>
>
>> best regards
>> Peter
>>
>> On Mon, Jun 8, 2015 at 3:41 AM, Peter Maersk-Moller <pmaersk at gmail.com
>> <mailto:pmaersk at gmail.com>> wrote:
>>
>> Hi
>>
>> When I try to set the program number for the mpegtsmux using the
>> pipeline, it all works quite well until I try to set a program
>> number above 31. Using a program number above 31, makes the mux set
>> the program number to 1. It furthermore creates complications, if I
>> have two streams and they both have a program number above 31. Then
>> I only get one program with the number 1 possibly with both pes pids
>> (not verified)
>>
>> The pipelines used for test are these:
>>
>> pid1=300
>> pnum1=31
>> # (works)
>> pnum1=32
>> # (program gets number 1)
>>
>> gst-launch-1.0 videotestsrc is-live=1 !
>> 'video/x-raw,framerate=15/1' ! videoconvert ! x264enc speed-preset=2
>> ! h264parse ! queue ! mux.sink_$pid1 mpegtsmux name=mux
>> prog-map=program_map,sink_$pid1=$pnum1 ! chopmydata max-size=1316
>> min-size=1316 ! udpsink host=127.0.0.1 port=10074
>>
>> pid1=300
>> pid2=301
>> pnum1=32
>> pnum2=33
>> # both pid1 and pid2 are associated with program 1 and not 32 and 33
>>
>> gst-launch-1.0 videotestsrc is-live=1 !
>> 'video/x-raw,framerate=15/1' ! videoconvert ! x264enc speed-preset=2
>> ! queue ! tee name=t ! h264parse ! queue ! mux.sink_$pid1 mpegtsmux
>> name=mux prog-map=program_map,sink_$pid1=$pnum1,sink_$pid2=$pnum2 !
>> chopmydata max-size=1316 min-size=1316 ! tcpserversink
>> host=127.0.0.1 port=10074 t. ! h264parse ! queue ! mux.sink_$pid2
>>
>> pid1=300
>> pid2=301
>> pnum1=31 (works)
>> pnum1=32 (program gets number 1)
>>
>> As far as I can read in the standard, the 16 bit field for program
>> number in the PAT packet and in the PMT packet allows for program
>> number between 1-2^16-1 although ATSC reserves 2^16-1 for some
>> analogue stuff.
>>
>> So is this a bug?
>>
>> Best regards
>> Peter Maersk-Moller
>>
>>
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150610/7f2f9e66/attachment-0001.html>
More information about the gstreamer-devel
mailing list