[MPlayer-dev-eng] time length refresh in dumped dvb streams?

arnaud tonda arnaud.tonda at gmail.com
Thu Sep 30 18:01:51 CEST 2010


i have investigated, and this "non-update" is more problematic.

in fact with both of the demuxers, it is impossible to to seek after the
time_length  calculated on the beginning.

to be more precise, and to detail what i do :

1 - i dump a dvb stream in a file (mpeg ts).

2 - i start mplayer with slave mode on this file after 50 seconds recording.
  --> mplayer start at the begining of the stream, and say ID_length=50

3 - i want to seek at 1 minute
  --> in CLI ==> seek 60 2 (absolute seek)
  --> mplayer have made the seek, but have stopped this seek at 50 seconds.

it's a little annoying, and i don't found yet any solution.

in both demuxer seek functions, it is tested that we can't seek after the
end of the stream, that's coherent on complete streams.
but if end_pos, or some else variable could be tried updated on end of
stream case, correct seek on files which a in recording state could be
possible.

if needed i'm ready to contribute to the mplayer development.

BR

Arnaud Tonda

2010/9/29 arnaud tonda <arnaud.tonda at gmail.com>

> Hi everybody.
>
> i'm facing a "annoying" problem that i can't solve.
> in fact, i'm able to watching tv in live with mplayer, by dumping dvb
> stream into an mpeg-ts stream (i know mplayer can lock a signal directly on
> dvb card, but this one is deported on a server.).
>
> this work fine except that the length of the stream isn't refreshed. So
> when i start mplayer on the stream, the time length returned (ANS_LENGTH) is
> the one at time T. but when i want to "get_time_length", an other time,  the
> length returned is always the same.
>
> is there a way to make MPlayer refresh this value?
> using a specific demuxer (lavf, and mpeg-ts demuxers tested).
>
> just one other question for my knowledge. i have taken a look at the
> demuxers code, and i don't understand how is calculated the movie length.
>
> in fact, it seems that in demux_ts.c, the length is a calculation between
> some bitrate and the size of the file, or everithing else. it result on my
> finish recorded streams, on a wrong calculation (for a stream which is 39
> min long, return a length of ~15min).
>
> in demux_lavf.c, i haven't understood how it work (it seems to have a
> variable named "duration"), but the calculation is correct.
>
> what are the differences?
>
> Best regards
>
> --
> Arnaud Tonda
>
>


More information about the MPlayer-dev-eng mailing list