Hello all,<br><br>I&#39;m trying to get specific information on the media
streams attached to a file. To do this I&#39;m using decodebin2 (I have
tried decodebin, as well).<br>My problem is that it seems to be
dependent on the file whether or not media streams are fixated after
coming in through the new-decoded-pad callback.<br>
I have tried:<br>- adding an async block on the pads and querying data later;<br>- adding a notify::caps callback and querying for the caps later (in this callback);<br>- just checking inside new-decoded-pad; and<br>- iterating over the pads after they have all been found.<br>

<br>I have also attempted to attach the pads to sinkpads and see what
negotiation happens, but that didn&#39;t work. I tried that using
gstreamer-java, so I&#39;m not 100% sure, but I messed around with it long
enough that it makes me think it&#39;s not the right way to go about things.<br>
<br>Finally, I was directed to this on the IRC channel:<br><a href="http://webcvs.freedesktop.org/gstreamer/gst-plugins-base/gst/playback/test5.c?revision=1.9&amp;view=markup" target="_blank">http://webcvs.freedesktop.org/gstreamer/gst-plugins-base/gst/playback/test5.c?revision=1.9&amp;view=markup</a><br>

This iteration method works exactly as my code did before -- I have
three video files, one of which results in &quot;x-video-raw/rgb;
x-video-raw/yuv&quot; and a fixated audio (8000hz, 8-bit, 1 channel, PCM),
one of which results in a fixated video and a basically-generic audio
caps (as in, 1 to some high number hz, 1 or 2 channels, ...), and the
third video results in both being &quot;unfixated&quot;<br>
<br>I was also directed to <br><a href="http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/part-block.txt?revision=1.9&amp;view=markup" target="_blank">http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/part-block.txt?revision=1.9&amp;view=markup</a><br>

However, either I have implemented the idea here and it did not work in
the way I expected, or I did not implement it correctly for lack of
documentation. I think I did implement it correctly using async blocker
callbacks on the srcpads, though. Feel free to correct me.<br>
<br>Basically, I&#39;m looking to query *all* information about a file,
kind of like how you can right-click on a file in Gnome&#39;s Nautilus and
get properties like frame size, framerate, codec, ...<br>I need all the
pertinent information for the uncompressed format of each stream, and
the length (though the length calculation is working just fine right
now), enough information to know exactly how much space each frame will
need, and how to access the information in these frames in my
application.<br>
<br>Finally, I&#39;m looking to do this decoding a minimal amount of the
bitstreams (as there will be thousands of files to load at the start).
Can anyone help out with some code that is doing what I want?<br><font color="#888888"><br>Thanks a ton!<br>Cameron<br><br>P.S. Apologies if this gets posted twice; I have cancelled my original unauthorized posting, but you never know...<br>
</font>