From: Robin G. <ro...@ga...> - 2007-02-21 20:08:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! I'm stuck with some gstreamer coding issue, and would appreciate advice on gstreamer-locking or lock-free c programming: the code at http://svn.sourceforge.net/viewvc/xjadeo/branches/gst-dev/src/xjadeo/xj-gst-0.10.c?revision=126&view=markup uses a buffer_probe to grab still images from a video-file. it works ok, but has a few bugs: (1) 100% CPU usage! (2) [sometimes] deadlocks when there's no frame to decode I've dug in the API-reference and have experimented a bit, but can't find the issue(s). Ideas: (1) Exact-seeks (or seeking every time?!) take ages! Most seeks in this app. are actually continuous or skip only few frames. - -> I was thinking to implement a cache that allows continuous decoding to speed things up.. would that make sense with gstreamer? Even in paused state, gst seems to decode after a seek. I can not prevent this by locking(suspending) the buffer_probe callback, removing GST_SEEK_FLAG_FLUSH helps - but I want to flush, don't I? :) The idea here was to only flush the pipeline when seeking non-continuously to a non key-frames - thought that might do the decoding speed/latency trick. (2) maybe I don't honor some error or EOF condition ?!? TIA, robin -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFF3KaneVUk8U+VK0IRAqxWAKCP61evZ6hlx70EVcHmN7mw5esokwCdF8rx Dpy0vqXl4Nda+YigJOv5RD8= =ytti -----END PGP SIGNATURE----- |