From: Artem B. <ar...@v2...> - 2003-12-02 10:42:25
|
hello i'm a new subscriber of the -devel and i'd like to find my way in the project before i start contributing to it ;) my area of interest is realtime video [as well as other media] processing and i often use libxine in my projects. i must admit, its api is one of the cleanest apis i've ever encountered, especially in the open source video related projects. i saw in the sources that some experimental code for future effects support has been started and that makes me happy for that means i can continue using libxine even if the projects i have to implement get fancier and more complex. i have the problem with the current one though and i can imagine some hypotetical ones where libxine won't be rocking as it is now. [i understand that realtime effects arent what libxine was designed for so i'm not critisizing anything, but just thinking aloud]. the project my collegues and me are busy with now has as a part of it a remotelly controlled video player that plays quite large material (up to 2048x600 pixels of which only 1400x600 are visible). among thei controls of the video player is playback "speed": we wanna be able to control the playback "smoothly" from frozen-frame through original speed to, say, 3-times the original speed. and this is the first control that we have some problems implementing. at the moment we use "xine_set_param(stream,XINE_PARAM_SPEED,speed);" and i works well with low speeds but becomes jerky with high speeds. as i can figure from sources "smooth" fast playback wasn't meant to be implemented in libxine, demuxer for example doesnt have a clue when the speed changes and provides frames sequentially to the video queue even when video out has no chance to play them all back (or decoder has no chance to decode them on time). i guess the smoother playback speed control could be possible if i could say to the demuxer: your step now is 1.5 frames and now 2 frames etc. then on higher speeds the decoder and video output plugins won't be trying to achieve impossible frame rates and the video queue won't be discarded that often and the video will seem play smoothly and all... of course the "normal" players don't need this feature and i could implement it so it won't interfere with default behaviour as it is now. the only question to xine-gurus is are my ideas correct or is there a better way to do what i want? -- gr{oe|ee}t{en|ings} artm |