<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt">OK, I can iterate through all the pipeline bin elements on video-changed and audio-changed callbacks, including queue2 object.<br><br>This media player already has a buffer message handler, so I'm wondering why the queue2 object is not accessible in that handler. Wouldn't that be the object which is posting GST_MESSAGE_BUFFER messages?<br><br>I'm trying to find a way to query and cap current-level-bytes since we have a really tight memory environment. <br><br><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <hr size="1"> <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> Dave Milici <davemilici@sbcglobal.net><br> <b><span style="font-weight:
bold;">To:</span></b> chaitanya v l <superchaits@gmail.com>; Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org> <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, September 30, 2013 7:36 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: querying playbin2 queue2 buffer stats<br> </font> </div> <div class="y_msg_container"><br>
<div id="yiv1557612062"><div><div style="color:#000;background-color:#fff;font-family:times new roman, new york, times, serif;font-size:12pt;"><div><span>In an example playbin2 case, I see how calling gst_bin_iterate_elements() and gst_bin_iterate_recurse() on the playbin2 will iterate through the list of connected audio and video elements, including queue elements for each stream, and multiqueue element.</span></div><div style="color:rgb(0, 0, 0);font-size:16px;font-family:times new roman, new york, times, serif;background-color:transparent;font-style:normal;"><br><span></span></div><div style="color:rgb(0, 0, 0);font-size:16px;font-family:times new roman, new york, times, serif;background-color:transparent;font-style:normal;"><span>However if I port the same iteration code into the media player we are working with, I only see printouts for 'playsink0' and 'streamsynchronizer0' elements.<br></span></div><div><br></div><div>One difference between the
actual
media player and test example, is that the example waits until the player changes past the READY state.</div><br><div style="font-family:times new roman, new york, times, serif;font-size:12pt;"> <div style="font-family:times new roman, new york, times, serif;font-size:12pt;"> <div dir="ltr"> <hr size="1"> <font face="Arial" size="2"> <b><span style="font-weight:bold;">From:</span></b> chaitanya v l <superchaits@gmail.com><br> <b><span style="font-weight:bold;">To:</span></b> Dave Milici <davemilici@sbcglobal.net>; Discussion of the development of and with GStreamer <gstreamer-devel@lists.freedesktop.org> <br> <b><span style="font-weight:bold;">Sent:</span></b> Monday, September 30, 2013 1:20 AM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: querying playbin2 queue2 buffer stats<br> </font> </div> <div class="yiv1557612062y_msg_container"><br>
On Mon, Sep 30, 2013 at 12:50 AM, Dave Milici <<a rel="nofollow" ymailto="mailto:davemilici@sbcglobal.net" target="_blank" href="mailto:davemilici@sbcglobal.net">davemilici@sbcglobal.net</a>> wrote:<br>> Hi--<br>><br>> We have a media player using gstreamer's playbin2 pipeline for playing<br>> videos from YouTube sites and it's not immediately obvious how to query the<br>> queue2 object's current buffering stats.<br>><br>> Adding a playbin2 callback for deep-notify changes on<br>> 'current-level-buffers' or 'current-level-bytes' does not get called. Since<br>> the media player is using playbin2's download option, adding the callback<br>> for 'temp-location' actually gets called for querying the download temp file<br>> path, but querying the buffer properties on the same callback object returns<br>> 0.<br>><br>> If we enable GST_DEBUG=queue2:4 for console output, we can see current<br>> buffering stats
with bytes changing up and down
frequently throughout the<br>> playback session. We'd like to be able to tap that same info<br>> programatically, but the above attempts suggest we're not looking at the<br>> right playbin2 object.<br>><br>> Is there code snippet which shows how to enumerate all the queue objects<br>> constructed in a playbin2 pipeline and query their buffer stats?<br>><br>> --Dave Milici<br>><br><br>Have you tried iterating through the elements in the bin using<br>gst_bin_iterate_* functions?<br>Have you tried registering for message::buffering +<br>gst_message_parse_buffering to get buffering statistics of your<br>pipeline ?<br><br><br>regards,<br>Chaitanya<br><br><br></div> </div> </div> </div></div></div><br>_______________________________________________<br>gstreamer-devel mailing list<br><a ymailto="mailto:gstreamer-devel@lists.freedesktop.org"
href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br><br><br></div> </div> </div> </div></body></html>