Stream stop
Re: Stream stop #101
Re: Stream stop #102
Posted 18 December 2015 - 22:09
No just the message service not found. check tuner config.
Read toppic with the revert all back ok.
http://forums.openpl...ndpost&p=519840
Edited by christophecvr, 18 December 2015 - 22:09.
Re: Stream stop #103
Posted 19 December 2015 - 10:12
I tried to find out why was http timeout introduced. I find this commit:
https://github.com/O...d4d1edc6ab5b4f9
In commit message it says "introduces feature #551". Does anybody know where can I find out what feature #551 means?
Then I find out this modification to http timeout:
https://github.com/O...6b1f3e5dc435912
In commit message is interesting part:
"As the UI is not blocked anymore I suggest this may not harm."
So UI was blocked until http timeout was reached?
I was trying to find commit which unblocked UI, but to no avail.
Perhaps somebody could clear this up, since I don't remember of UI being blocked until http stream started to play.
Edited by mx3L, 19 December 2015 - 10:13.
Re: Stream stop #104
Posted 19 December 2015 - 10:51
In commit message it says "introduces feature #551". Does anybody know where can I find out what feature #551 means?
I guess this one: "[enigma2-cvs] branch, feature_551_rtspstreaming, created"
https://lists.elited...uly/006851.html
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916
Re: Stream stop #105
Re: Stream stop #106
Posted 20 December 2015 - 15:25
Any progress on this ?
Has anything been decided regarding the HTTP_Timeout ?
Because its a right pain in the arse the way it is at the moment since recent updates have ensured that END kills the pipe and no its no longer possible to simply press OK to continue the stream,it needs addressing.
Ian.
Re: Stream stop #107
Posted 20 December 2015 - 15:29
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916
Re: Stream stop #108
Re: Stream stop #109
Posted 21 December 2015 - 20:31
@athoik
Thanks, unfortunately I still didn't find out why was timeout introduced.
I notice that we also set timeout for souphttpsrc right after we start timer with the same timeout. So timer makes sense, we shouldn't continue after souphttpsrc is timed out.
From log created by @ian1095 and previous possibility of resuming playback after EOF, it's clear that we are stopping timer too late, since souphttpsrc is clearly not timed out.
We are stopping timer after PAUSED_TO_PLAYING state change of pipeline. Ideally we should stop it after souphttpsrc makes connection.
I find out that when souphttpsrc times out, we get specific resource error messages on the bus:
GST_RESOURCE_ERROR_OPEN_READ or
GST_RESOURCE_ERROR_OPEN
http://gstreamer.fre...stResourceError
So I think we can remove timer and stop pipeline + send evEOF when one these messages is on the bus:
diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp index b180476..014a54b 100644 --- a/lib/service/servicemp3.cpp +++ b/lib/service/servicemp3.cpp @@ -401,7 +401,6 @@ eServiceMP3::eServiceMP3(eServiceReference ref): m_pump(eApp, 1) { m_subtitle_sync_timer = eTimer::create(eApp); - m_streamingsrc_timeout = 0; m_stream_tags = 0; m_currentAudioStream = -1; m_currentSubtitleStream = -1; @@ -525,8 +524,6 @@ eServiceMP3::eServiceMP3(eServiceReference ref): if ( m_sourceinfo.is_streaming ) { uri = g_strdup_printf ("%s", filename); - m_streamingsrc_timeout = eTimer::create(eApp);; - CONNECT(m_streamingsrc_timeout->timeout, eServiceMP3::sourceTimeout); if ( m_ref.getData(7) & BUFFERING_ENABLED ) { @@ -777,13 +774,6 @@ RESULT eServiceMP3::start() return 0; } -void eServiceMP3::sourceTimeout() -{ - eDebug("[eServiceMP3] http source timeout! issuing eof..."); - stop(); - m_event((iPlayableService*)this, evEOF); -} - RESULT eServiceMP3::stop() { if (!m_gst_playbin || m_state == stStopped) @@ -807,8 +797,6 @@ RESULT eServiceMP3::stop() saveCuesheet(); m_nownext_timer->stop(); - if (m_streamingsrc_timeout) - m_streamingsrc_timeout->stop(); return 0; } RESULT eServiceMP3::stop() { if (!m_gst_playbin || m_state == stStopped) @@ -807,8 +797,6 @@ RESULT eServiceMP3::stop() saveCuesheet(); m_nownext_timer->stop(); return 0; } @@ -1750,8 +1738,6 @@ void eServiceMP3::gstBusCall(GstMessage *msg) } break; case GST_STATE_CHANGE_PAUSED_TO_PLAYING: { { - if ( m_sourceinfo.is_streaming && m_streamingsrc_timeout ) - m_streamingsrc_timeout->stop(); m_user_paused = false; m_paused = false; if (m_seek_paused) @@ -1803,6 +1789,14 @@ void eServiceMP3::gstBusCall(GstMessage *msg) m_event((iPlayableService*)this, evUser+10); } } + else if ( err->domain == GST_RESOURCE_ERROR ) + { + if ( err->code == GST_RESOURCE_ERROR_OPEN_READ || err->code == GST_RESOURCE_ERROR_READ ) + { + stop(); + m_event((iPlayableService*)this, evEOF); + } + } g_error_free(err); break; } @@ -2155,9 +2149,8 @@ void eServiceMP3::gstBusCall(GstMessage *msg) gst_element_get_state(m_gst_playbin, &state, NULL, 0LL); GstElementFactory *factory = gst_element_get_factory(GST_ELEMENT(owner)); const gchar *name = gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(factory)); - if (!strcmp(name, "souphttpsrc") && (state == GST_STATE_READY) && !m_streamingsrc_timeout->isActive()) + if (!strcmp(name, "souphttpsrc") && (state == GST_STATE_READY)) { - m_streamingsrc_timeout->start(HTTP_TIMEOUT*1000, true); g_object_set (G_OBJECT (owner), "timeout", HTTP_TIMEOUT, NULL); eDebug("[eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on %s to %is", name, HTTP_TIMEOUT); } diff --git a/lib/service/servicemp3.h b/lib/service/servicemp3.h index ef243bc..45f4d52 100644 --- a/lib/service/servicemp3.h +++ b/lib/service/servicemp3.h @@ -361,7 +361,6 @@ private: subtitle_pages_map_t m_subtitle_pages; ePtr<eTimer> m_subtitle_sync_timer; - ePtr<eTimer> m_streamingsrc_timeout; pts_t m_prev_decoder_time; int m_decoder_time_valid_state;
Tested this to simulate timeout, looks to be working as expected
http://stackoverflow...n-timeout-error
#SERVICE 4097:0:0:0:0:0:0:0:0:0:http%3a//10.255.255.1:timeout
Attached Files
Re: Stream stop #110
Re: Stream stop #111
Posted 23 December 2015 - 09:43
Sorry to keep pushing this thread but can someone PLEASE apply this patch so that streaming is fixed over Christmas ?
Otherwise it will mean having to flash a backup from a time before all these pause commits were made to the image,just so pressing the OK button when END appears onscreen works once more.
Thanks.
Ian.
Re: Stream stop #112
Re: Stream stop #113
Posted 27 December 2015 - 10:40
Ask the patch contributer to contribute it properly with a good description of what it fixes and how it works. Otherwise you can wait a loooong time.
* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.
Re: Stream stop #114
Re: Stream stop #115
Re: Stream stop #116
Re: Stream stop #117
Re: Stream stop #118
Re: Stream stop #119
Re: Stream stop #120
Posted 5 September 2016 - 17:30
7 user(s) are reading this topic
0 members, 7 guests, 0 anonymous users