[FFmpeg-devel] [PATCH 15/16] mpegts: fix return value when enough ts packets have been parsed or when the first PMT has been seen.
Michael Niedermayer
michaelni at gmx.at
Sun Oct 16 15:25:30 CEST 2011
On Sun, Oct 09, 2011 at 01:44:38PM -0700, Baptiste Coudurier wrote:
> Hi Laurent,
>
> On 10/8/11 2:40 PM, fenrir at elivagar.org wrote:
> >From: Laurent Aimar<fenrir at videolan.org>
> >
> >---
> > libavformat/mpegts.c | 12 ++++++++----
> > 1 files changed, 8 insertions(+), 4 deletions(-)
> >
> >diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> >index 02f0d56..f3d8b35 100644
> >--- a/libavformat/mpegts.c
> >+++ b/libavformat/mpegts.c
> >@@ -1106,7 +1106,7 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
> >
> > // stop parsing after pmt, we found header
> > if (!ts->stream->nb_streams)
> >- ts->stop_parse = 1;
> >+ ts->stop_parse = 2;
> >
> > for(;;) {
> > st = 0;
> >@@ -1462,11 +1462,15 @@ static int handle_packets(MpegTSContext *ts, int nb_packets)
> > ts->stop_parse = 0;
> > packet_num = 0;
> > for(;;) {
> >- if (ts->stop_parse>0)
> >- break;
> > packet_num++;
> >- if (nb_packets != 0&& packet_num>= nb_packets)
> >+ if (nb_packets != 0&& packet_num>= nb_packets ||
> >+ ts->stop_parse> 1) {
> >+ ret = AVERROR(EAGAIN);
> > break;
> >+ }
> >+ if (ts->stop_parse> 0)
> >+ break;
> >+
> > ret = read_packet(s, packet, ts->raw_packet_size);
> > if (ret != 0)
> > break;
>
> I'm a bit confused by the change. What's the intended goal ?
> pmt_cb setting stop_parse = 1 is only when no streams are present
> yet, ie we did not parse PMT yet, this should only happen during
> init.
> Is that triggered in other scenario ?
ping, whats the status of this patch?
accepted/droped/should i review ?
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No human being will ever know the Truth, for even if they happen to say it
by chance, they would not even known they had done so. -- Xenophanes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20111016/994ce9ed/attachment.asc>
More information about the ffmpeg-devel
mailing list