[gst-devel] gst + xjadeo

Robin Gareus robin at gareus.org
Wed Feb 21 21:08:08 CET 2007


-----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-----




More information about the gstreamer-devel mailing list