Hello,
I'm trying to grab frames with appsink to implement a GUI in Qt. To test my pipeline, I first run it from the console but after the 1st frame or so it halts completely. Can you please tell me what is wrong with it: gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! tee name=tp \tp. ! queue ! imxeglvivsink \tp. ! queue ! appsink Thank you! Luca |
Hi Luca Looking at the appsink plugin page I see that it has a “drop” capability that defaults to FALSE. This means that the appsink will hold that first frame in its buffer until you ask for it (gst_app_sink_try_pull_sample) and will signal back up the pipeline that no other frames should be sent. You can try setting the drop cap to TRUE and this should then start to drop all those frames as they come through. At least that’s my understanding of how it works. Hope that helps John Accenture Global Solutions Limited, 3 Grand Canal Plaza, Grand Canal Street Upper, Dublin 4 This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to which they are addressed. If you have received this e-mail in error, please notify the sender immediately and delete the original. Communications with Accenture or any of its group companies (“Accenture”), including telephone calls and e-mails, may be monitored by our systems for quality control and/or evidential purposes. Accenture does not accept service by e-mail of court proceedings, other processes or formal notices of any kind. Private company limited by shares registered in Ireland, Number 554978 On 23/01/2017, 20:39, "gstreamer-devel on behalf of luca101" <[hidden email] on behalf of [hidden email]> wrote: Hello, I'm trying to grab frames with appsink to implement a GUI in Qt. To test my pipeline, I first run it from the console but after the 1st frame or so it halts completely. Can you please tell me what is wrong with it: *gst-launch-1.0 imxv4l2videosrc device=/dev/video1 ! tee name=tp \tp. ! queue ! imxeglvivsink \tp. ! queue ! appsink* Thank you! Luca -- View this message in context: https://urldefense.proofpoint.com/v2/url?u=http-3A__gstreamer-2Ddevel.966125.n4.nabble.com_Appsink-2Dhalts-2Dpipeline-2Dtp4681601.html&d=DgIGaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=MU_KJXJNiVzpKH9iO2oEENGKvd9j8rpJfiPNXLOJNiY&m=HPX2k21rLea6SFL6tAfghel64S_7chduzkLC9fYMmhQ&s=TzsyCqyk4nyLbHRzmTtD1repKQ0cy5160M4PiN3-jGk&e= Sent from the GStreamer-devel mailing list archive at Nabble.com. _______________________________________________ gstreamer-devel mailing list [hidden email] https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_gstreamer-2Ddevel&d=DgIGaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=MU_KJXJNiVzpKH9iO2oEENGKvd9j8rpJfiPNXLOJNiY&m=HPX2k21rLea6SFL6tAfghel64S_7chduzkLC9fYMmhQ&s=2eSsBijoAOINvDiVV35Dk39pI1b4k6_DU5KK9maBpgI&e= ________________________________ This message is for the designated recipient only and may contain privileged, proprietary, or otherwise confidential information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the e-mail by you is prohibited. Where allowed by local law, electronic communications with Accenture and its affiliates, including e-mail and instant messaging (including content), may be scanned by our systems for the purposes of information security and assessment of internal compliance with Accenture policy. ______________________________________________________________________________________ www.accenture.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hello John,
Thanks a lot for your reply! I already tried some combinations of settings for appsink (like drop=TRUE) but it still halts after the first frame or 2. I put the pipeline into a test program but I got the same results. //Configure appsink g_object_set (G_OBJECT (appsink), "emit-signals", TRUE, "drop", TRUE, "sync", FALSE, "throttle-time", 0, "max-buffers", 5, "wait-on-eos", FALSE, "eos", FALSE, "qos", TRUE, NULL); //Connect signal "new-sample" to function new_sample() g_signal_connect (appsink, "new-sample", G_CALLBACK(new_sample), NULL); //Function new_sample() static void new_sample (GstElement *appsink, gpointer user_data) { GstSample *sample=NULL; g_signal_emit_by_name (appsink, "pull-sample", &sample, NULL); } I'm still trying to solve this problem and appreciate any ideas. Cheers, -Luca |
Free forum by Nabble | Edit this page |