mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
ab31900b64
This fixes a couple of issues regarding the output of (request) per-program pads output: We would never push out PAT sections (ok, that was one reallly stupid mistake. I guess nobody ever uses this feature ...). In the case where the PMT section of a program was bigger than one packet, we would only end up pushing the last packet of that PMT. Which obviously results in the resulting stream never containing the proper (complete) PMT. The problem was that the program is only started (in the base class) after the PMT section is completely parsed. When dealing with single-program pads, tsparse only wants to push the PMT corresponding to the requested program (and not the other ones). tsparse did that check by looking at the streams of the program... ... but that program doesn't exist for the first packets of the initial PMT. The fix is to use the base class program information (if it parsed the PAT it already has some information, like the PMT PID for a given program) if the program hasn't started yet. |
||
---|---|---|
.. | ||
gstmpegdefs.h | ||
gstmpegdesc.h | ||
gsttsdemux.c | ||
Makefile.am | ||
mpegtsbase.c | ||
mpegtsbase.h | ||
mpegtspacketizer.c | ||
mpegtspacketizer.h | ||
mpegtsparse.c | ||
mpegtsparse.h | ||
pesparse.c | ||
pesparse.h | ||
TODO | ||
tsdemux.c | ||
tsdemux.h |