Pipeline Says it's Playing, but It's Not
Wes Miller
wmiller at sdr.com
Tue Mar 5 10:53:55 PST 2013
Tim,
Thank you!
> you stop a pipeline by setting its state to GST_STATE_NULL.
Ahh, yes, tried that too. Right after sending the EOS.
I went back and added a *gst_element_get_state()* after the
*gst_element_set_state()* and it indeed changes the pipe state. Thank
goodness. I still never see the EOS propagate, though. I say this because
in my bus_message_handler() I have a case for EOS and it should, but does
not, print a bunch of "EOS"'s.
switch (GST_MESSAGE_TYPE( msg ))
{
case GST_MESSAGE_EOS:
{
g_main_loop_quit( that->GetLoop() );
std::cout << "EOS EOS EOS EOS EOS EOS" << std::endl; // excessive
prints so they can't
std::cout << "EOS EOS EOS EOS EOS EOS" << std::endl; // get lost in
other output.
std::cout << "EOS EOS EOS EOS EOS EOS" << std::endl;
std::cout << "EOS EOS EOS EOS EOS EOS" << std::endl;
break;
}
No matter, you solved the problem with the GST_STATE_NULL.
> That sounds like you're feeding an invalid pointer or an already-free
> object to the macro.
I tried to deref the pipeline element after stopping the loop.
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Pipeline-Says-it-s-Playing-but-It-s-Not-tp4658881p4658899.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list