Hi!
I am new to gstreamer and I think I have a very basic problem, which I am still unable to solve! So I have reduced my pipeline, because I was unsuccessful with my real one :) So my pipeline is: appsrc ! appsink I keep sending data to pipeline, but I only received one event on appsink and than it all stops :( Why? How to solve it? I puted queue in between, but the problem is the same....I need to some how tell the pipe that I want the party to go on :) How? :) 0:00:00.036783554 8208 000002137E9696F0 DEBUG queue gstqueue.c:477:gst_queue_init:<GstQueue@000002137E95DF80> initialized queue's not_empty & not_full conditions 0:00:00.038108521 8208 000002137E970040 LOG queue gstqueue.c:1044:gst_queue_handle_sink_query:<queue> queuing query 000002137E9720F0 (allocation) Pushing data to appsrc: 1440 0:00:01.561789692 8208 000002137E970040 DEBUG queue gstqueue.c:578:apply_segment:<queue> configured SEGMENT time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999 0:00:01.562197708 8208 000002137E970040 LOG queue gstqueue.c:529:update_time_level:<queue> update sink time 0:00:01.562502763 8208 000002137E970040 LOG queue gstqueue.c:538:update_time_level:<queue> update src time 0:00:01.562797853 8208 000002137E970040 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:00:00.000000000, src +0:00:00.000000000 0:00:01.563110316 8208 000002137E970040 DEBUG queue gstqueue.c:578:apply_segment:<queue> configured SEGMENT time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999 0:00:01.563457781 8208 000002137E970040 LOG queue gstqueue.c:538:update_time_level:<queue> update src time 0:00:01.563751339 8208 000002137E970040 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:00:00.000000000, src +0:00:00.000000000 0:00:01.564074788 8208 000002137E970040 LOG queue gstqueue.c:633:apply_buffer:<queue> sink position updated to 0:00:01.097215872 0:00:01.564380864 8208 000002137E970040 LOG queue gstqueue.c:529:update_time_level:<queue> update sink time 0:00:01.564675443 8208 000002137E970040 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:00:01.097215872, src +0:00:00.000000000 0:00:01.564995571 8208 000002137E970000 LOG queue gstqueue.c:633:apply_buffer:<queue> src position updated to 0:00:01.097215872 0:00:01.565339971 8208 000002137E970000 LOG queue gstqueue.c:538:update_time_level:<queue> update src time 0:00:01.565638382 8208 000002137E970000 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:00:01.097215872, src +0:00:01.097215872 Received sample of size: 1440 Pushing data to appsrc: 1440 0:00:02.062884080 8208 000002137E970040 LOG queue gstqueue.c:633:apply_buffer:<queue> sink position updated to 0:38:03.848023232 0:00:02.063005949 8208 000002137E970040 LOG queue gstqueue.c:529:update_time_level:<queue> update sink time 0:00:02.063108144 8208 000002137E970040 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:38:03.848023232, src +0:00:01.097215872 0:00:02.063224903 8208 000002137E970000 LOG queue gstqueue.c:633:apply_buffer:<queue> src position updated to 0:38:03.848023232 0:00:02.063335019 8208 000002137E970000 LOG queue gstqueue.c:538:update_time_level:<queue> update src time 0:00:02.063435937 8208 000002137E970000 LOG queue gstqueue.c:547:update_time_level:<queue> sink +0:38:03.848023232, src +0:38:03.848023232 |
Le 24 mars 2017 5:54 AM, "AndrejSlo" <[hidden email]> a écrit : Hi! By default, you only get a new event if you have emptied the appsink queue. So keep pulling until it's empty en it should work.
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi! Tank you for you response! But I've already solved the simplest example: appsrc ! appsink
And it's was actually silly mistake of typecast, which I will omit later. And it was not the problem you suggested, because I made my self easy problem so I made sure that I did you pushed two times before my appsink queue was empty, but I was wondering how to get all of the elements out.... So now I am still not done, because when I putt other elements in between do not get them out. I've just manned to put rtpjitterbuffer in between, but I still fail to put also rtph264depay in between :( I've managed to put rtpjitterbuffer in between by those two lines below, which I do not fully understand :) caps = gst_caps_from_string("application/x-rtp, media=(string)video, clock-rate = (int)90000, encoding-name = (string)H264"); g_object_set(G_OBJECT(appsrc), "caps", caps, NULL); Any ideas what I have to do to succeed whit this pipeline? appsrc! rtpjitterbuffer ! rtph264depay ! appsink |
I would just like to inform you that it work! I was just not pussing enough RTPs in simulation to get any output of rtph264depay.
And no I do not need to empty the appsink queue. I receive all the events! |
Free forum by Nabble | Edit this page |