Resuming rtsp stream on receiving EOS signal on message bus using re-connection timer

enthusiastic geek enthusiasticgeek at gmail.com
Thu Feb 7 09:34:16 PST 2013


Could you pinpoint which function are you referring to in my code? 

Is it  
 this->setStreamStatus(index, true); // 
 ? 

 I am confused. Do you want me to have another case in the bus message event
handler 

Gst::MESSAGE_STATE_CHANGED and perform checks there?

I am performing getState(index) check inside the timeout function if you
notice

It looks like


Gst::State VideoBroadcast::getState(uint32_t index)
{
    Gst::State state;
    Gst::State pending;
    Gst::StateChangeReturn ret = app->pipeline_[index]->get_state(state,
pending, 1 * Gst::SECOND);

    if (ret == Gst::STATE_CHANGE_SUCCESS)
    {
        std::cout<< "State = " << getStateString(state) << std::endl;
        return state;
    }
    else if (ret == Gst::STATE_CHANGE_ASYNC)
    {
        std::cout<< "Query state failed, still performing change"<<
std::endl;
    }
    else
    {
        std::cout<<"Query state failed, hard failure"<< std::endl;
    }
    return Gst::STATE_NULL;
}

std::string VideoBroadcast::getStateString(Gst::State state)
{
    switch (state)
    {
    case Gst::STATE_VOID_PENDING:
        return "VOID_PENDING";
    case Gst::STATE_NULL:
        return "NULL";
    case Gst::STATE_READY:
        return "READY";
    case Gst::STATE_PAUSED:
        return "PAUSED";
    case Gst::STATE_PLAYING:
        return "PLAYING";
    default:
        return "UNKNOWN";
    }
}




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Resuming-rtsp-stream-on-receiving-EOS-signal-on-message-bus-using-re-connection-timer-SOLVED-tp4658402p4658423.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list