[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