[rhythmbox] xfade: handle streams buffering before creating a decoder pad



commit 245fa889e3dca30216a183fb6d20f55b8ca989be
Author: Jonathan Matthew <jonathan d14n org>
Date:   Sat Dec 5 20:56:45 2020 +1000

    xfade: handle streams buffering before creating a decoder pad
    
    If the stream doesn't even have a decoder pad yet, we can't try to
    play it, so instead wait for preroll to finish.

 backends/gstreamer/rb-player-gst-xfade.c | 5 +++++
 1 file changed, 5 insertions(+)
---
diff --git a/backends/gstreamer/rb-player-gst-xfade.c b/backends/gstreamer/rb-player-gst-xfade.c
index e73dc1838..ebc270960 100644
--- a/backends/gstreamer/rb-player-gst-xfade.c
+++ b/backends/gstreamer/rb-player-gst-xfade.c
@@ -1894,6 +1894,11 @@ rb_player_gst_xfade_bus_cb (GstBus *bus, GstMessage *message, RBPlayerGstXFade *
                                break;
 
                        case PREROLL_PLAY:
+                               if (stream->decoder_pad == NULL) {
+                                       rb_debug ("stream %s buffered, but no decoded pad yet", stream->uri);
+                                       break;
+                               }
+
                                rb_debug ("stream %s is buffered, now playing", stream->uri);
                                if (actually_start_stream (stream, &error) == FALSE) {
                                        emit_stream_error (stream, error);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]