<html><body><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="y_msg_container"><br>
On Mon, Sep 30, 2013 at 12:50 AM, Dave Milici <<a ymailto="mailto:davemilici@sbcglobal.net" 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></body></html>