I wrote a plugin for the mjpg-streamer app which uses gstreamer to
capture jpeg frames.
It uses the handoff signal from fakesink to do a callback to the
function which passes the frame to the rest of the mjpg-streamer code:
g_object_set(G_OBJECT(fakesink),"signal-handoffs",TRUE,NULL);
g_signal_connect(fakesink,"handoff", G_CALLBACK(cb_handoff),NULL);
The funny thing is, it works great if I start it from a shell prompt,
but if I let systemd start it automatically at boot, I don't see any
of the signals being emitted.
If I stop the "service" and start it by hand, it works again.
Can anyone give me any pointers on things to check? Is it something
related to the various threads?
mjpg-streamer starts two threads, the input plugin (which has my gst
code) and the output plugin.
The gst pipeline my code creates is similar to: v4l2src ! queue !
jpegenc ! queue ! fakesink.
Actually there is also a tee in there which sends a copy of the jpeg
images to queue ! avimux ! filesink.
As I said, it works great in testing, but just won't startup with
systemd at boot. And it doesn't really give me any errors. It just
sits there waiting indefinitely.
Thanks,
Chris
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel