]> git.sesse.net Git - vlc/commitdiff
sout: chromecast: close connection on load failure
authorFrancois Cartegnie <fcvlcdev@free.fr>
Tue, 7 Oct 2014 16:12:13 +0000 (18:12 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 8 Oct 2014 22:02:15 +0000 (00:02 +0200)
only msgClose won't stop listening, so we need to
flag as CONN_DEAD as well so it will send the close
message and exit thread

modules/stream_out/chromecast/cast.cpp

index b0e4166a68096067ca9efd52fe6b826c316d6f36..7a93648c3f8ed427ca003210806a626a9a902d43 100644 (file)
@@ -673,7 +673,9 @@ static int processMessage(sout_stream_t *p_stream, const castchannel::CastMessag
                 case CHROMECAST_MEDIA_LOAD_SENT:
                     msg_Warn(p_stream, "app is no longer present. closing");
                     msgClose(p_stream, p_sys->appTransportId);
-                    i_ret = -1;
+                    vlc_mutex_lock(&p_sys->lock);
+                    p_sys->i_status = CHROMECAST_CONNECTION_DEAD;
+                    vlc_mutex_unlock(&p_sys->lock);
                     // ft
                 default:
                     break;
@@ -706,6 +708,10 @@ static int processMessage(sout_stream_t *p_stream, const castchannel::CastMessag
         {
             msg_Err(p_stream, "Media load failed");
             atomic_store(&p_sys->ab_error, true);
+            msgClose(p_stream, p_sys->appTransportId);
+            vlc_mutex_lock(&p_sys->lock);
+            p_sys->i_status = CHROMECAST_CONNECTION_DEAD;
+            vlc_mutex_unlock(&p_sys->lock);
         }
         else
         {