[MPlayer-dev-eng] mplayer libmpdemux
MoRpHeUz
morpheuz at gmail.com
Wed Jul 25 19:51:58 CEST 2007
Hi,
While doing some application that makes use of mplayer's slave
feature I reached a problem about seeks and get_time_pos .
Problem scenario: I have this mpeg2ts file recorded from a dvb
stream using mythtv and while playing it, if I try using
"get_time_pos" I always get high values like 8779.4, even at the
beginning of the file (this file starts at 8779.1). I noticed also
that while playing, the last significant digit increases 1 per second.
Working like this, I have a problem while seeking to absolute
positions as the function "seek" just works with values in seconds.
Looking at mplayer's code I found the file
"mplayer/libmpdemux/video.c" and at line 630 we have:
sh_video->pts+=frame_time;
if(picture_coding_type<=2 && sh_video->i_pts){
sh_video->pts=sh_video->i_pts;
sh_video->i_pts=pts;
} else {
if(pts){
if(picture_coding_type<=2) sh_video->i_pts=pts;
else {
sh_video->pts=pts;
}
}
}
This file is reaching that last else and so it has
picture_coding_type==3 (maybe this means that it's macroblock type b
?).
I'm trying to figure out a solution for this problem (even a patch
if this is a bug)
but I need some help to understand this scenario. Could you give me a
little help on this ?
Regards,
--
-------------------------------------------------------
Blog: http://labs.morpheuz.eng.br/blog/
PGP: 0xDBEEAAC3 @ wwwkeys.pgp.net
More information about the MPlayer-dev-eng
mailing list