[FFmpeg-devel] [PATCH 2/2] avformat/tty: add seeking support

Paul B Mahol onemda at gmail.com
Fri Feb 7 11:22:41 EET 2020


On 2/2/20, Andreas Rheinhardt <andreas.rheinhardt at gmail.com> wrote:
> Paul B Mahol:
>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>> ---
>>  libavformat/tty.c | 3 +++
>>  1 file changed, 3 insertions(+)
>>
>> diff --git a/libavformat/tty.c b/libavformat/tty.c
>> index 61e9f3e95c..2065fc0a53 100644
>> --- a/libavformat/tty.c
>> +++ b/libavformat/tty.c
>> @@ -150,6 +150,8 @@ static int read_packet(AVFormatContext *avctx,
>> AVPacket *pkt)
>>              n = s->fsize - p;
>>      }
>>
>> +    pkt->stream_index = 0;
>> +    pkt->pts = pkt->pos / n;
>>      pkt->size = av_get_packet(avctx->pb, pkt, n);
>>      if (pkt->size < 0)
>>          return pkt->size;
>> @@ -182,4 +184,5 @@ AVInputFormat ff_tty_demuxer = {
>>      .read_packet    = read_packet,
>>      .extensions     = tty_extensions,
>>      .priv_class     = &tty_demuxer_class,
>> +    .flags          = AVFMT_GENERIC_INDEX,
>>  };
>>
> The very first thing av_get_packet() does is initializing the packet
> which resets every field except data and size. In particular, it
> overwrites what you set in the code you intend to add (where pkt->pos
> is btw still -1 from the initialization done before the read_packet
> function is called). So if this is supposed to make sense, you'd need
> to put this code after av_get_packet().
> And I'm curious what happened when you tested seeking with your code.

It worked somehow, locally fixed.

>
> - Andreas
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list