mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
1db547f0b6
<tpm> leio, what's the mpegts demux hack about? <leio> my libdvbsub code can't handle cut packets <leio> so the hack instructs the demuxer to gather full packets before pushing down, but it applies that to more PES packet types than just dvbsub, but I'm not sure if that's a bad thing <leio> either way, needs a cleaner solution, either in demuxer, or I need to handle cut packets <tpm> ok, but really it should be fixed in the overlay, right? <tpm> or a parser be inserted <leio> the problem is that I don't know from the first packet beforehand if it is a cut one or no <leio> not <leio> err, first buffer <leio> just when I receive the next one I see if it has a valid timestamp on it or not <leio> so I can't very well queue it up in the chain either, I might be blocking the very last subtitle for no reason or something <tpm> but you could just drop/ignore packets until you find one, right? <leio> find what? <tpm> a complete packet? <leio> the problem isn't that they aren't complete <leio> the problem is that they are cut across multiple GstBuffers by the demuxer without the hack <tpm> sure, I understand that <tpm> but you can't easily determine if a GstBuffer contains he start fragment of a packet or not? <leio> I guess I could parse the packet and see if its length is enough, just like the libdvbsub code eventually does too <leio> I can, it has a timestamp if it's the first chunk <leio> I just never know if I need to wait for more, without some parsing <tpm> ah ok <leio> while the demuxer could just give me an uncut one in the first place <leio> like it always does for program streams <leio> that gather_pes is always set in gstmpegdemux, but not in gstmpegtsdemux |
||
---|---|---|
.. | ||
flumpegdemux.c | ||
flutspatinfo.c | ||
flutspatinfo.h | ||
flutspmtinfo.c | ||
flutspmtinfo.h | ||
flutspmtstreaminfo.c | ||
flutspmtstreaminfo.h | ||
gstmpegdefs.h | ||
gstmpegdemux.c | ||
gstmpegdemux.h | ||
gstmpegdesc.c | ||
gstmpegdesc.h | ||
gstmpegtsdemux.c | ||
gstmpegtsdemux.h | ||
gstpesfilter.c | ||
gstpesfilter.h | ||
gstsectionfilter.c | ||
gstsectionfilter.h | ||
Makefile.am | ||
mpegtspacketizer.c | ||
mpegtspacketizer.h | ||
mpegtsparse.c | ||
mpegtsparse.h |