Setting QGst::StatePlaying doesn't trigger a QGst::MessageStateChanged event
Karl Phillip
maxphil at gmail.com
Tue Dec 20 06:01:32 PST 2011
I wrote a Video Player for Linux that uses QtGstreamer. It works
beatifully! Now that I've successfully compiled and tested
gstreamer/qtgstreamer for Windows I decided it was time to compile my Video
Player for Windows as well, and so it was done, flawlessly.
However, when my application is executed audio/video is not being played.
I know that onNewDecodedPad() is being triggered for "audio/x-raw-int" and
"video/x-raw-rgb", and I'm also certain that all the pipeline setup is good
since it works on Linux.
Here is what is happening: my VideoPlayer class inherits from
QGst::Utils::ApplicationSink , and I noticed that newBuffer() is not being
called when the pipeline is set to QGst::StatePlaying. That's odd, right?
So I addSignalWatch() to the pipeline bus and further testes revelead that
after everything is properly configured and loaded, i.e. after
onNewDecodedPad() is executed for both audio/video streams saying that
everything is good to go, setting the pipeline to:
pipeline->setState(QGst::StatePlaying);
doesn't trigger a QGst::MessageStateChanged event, nor a QGst::MessageError
event. I don't know what's going on since I can see the very same code
working on Linux.
What could be causing this? I have added debugs for virtually every
QtGstreamer call that is being done, so if anything had failed during the
setup I would know.
Thanks guys,
--
Karl Phillip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20111220/b58b6c13/attachment.htm>
More information about the gstreamer-devel
mailing list