Package updated to version mafw-gst-renderer-0.3.2010.24-1+0m5.
authorRoman Moravcik <roman.moravcik@gmail.com>
Mon, 25 Oct 2010 10:57:26 +0000 (12:57 +0200)
committerRoman Moravcik <roman.moravcik@gmail.com>
Mon, 25 Oct 2010 10:57:26 +0000 (12:57 +0200)
debian/changelog
libmafw-gst-renderer/mafw-gst-renderer-state-playing.c

index 2f10c81..75b02f9 100644 (file)
@@ -1,3 +1,16 @@
+mafw-gst-renderer (0.3.2010.24-1+0m5) unstable; urgency=low
+
+  * This entry has been added by BIFH queue processor
+    version has been changed to 0.3.2010.24-1+0m5
+
+ -- Pekka Rönkkö <ext-pekka.1.ronkko@nokia.com>  Mon, 21 Jun 2010 14:57:08 +0300
+
+mafw-gst-renderer (0.3.2010.24-1) unstable; urgency=low
+
+  * Fixes: NB#161636 - Playbin sends EOS for endless stream 
+
+ -- Pekka Rönkkö <ext-pekka.1.ronkko@nokia.com>  Thu, 17 Jun 2010 12:05:30 +0200
+
 mafw-gst-subtitles-renderer (0.2.2010.07-2+0m5-3) unstable; urgency=low
 
   * This package should depend on gstreamer0.10-plugins-base-subtitles
@@ -20,18 +33,11 @@ mafw-gst-subtitles-renderer (0.2.2010.07-2+0m5-1) unstable; urgency=low
 
  -- Roman Moravcik <roman.moravcik@gmail.com>  Wed,  5 May 2010 10:12:28 +0200
 
-mafw-gst-renderer (0.2.2010.07-2+0m5) unstable; urgency=low
-
-  * This entry has been added by BIFH queue processor
-    Suffix +0m5 added to package revision
-
- -- mika tapojarvi <ext-mika.tapojarvi@nokia.com>  Fri, 19 Feb 2010 10:11:34 +0200
-
 mafw-gst-renderer (0.2.2010.07-2) unstable; urgency=low
 
   * Fixes: NB#156757 - Volume settings can't be changed via Volume key, Media player is playing, Tklock is On.
 
- -- Mika Tapojärvi <mika.tapojarvi@sse.fi>  Wed, 17 Feb 2010 10:09:38 +0200
+ -- Mika Tapojärvi <ext-mika.tapojarvi@nokia.com>  Wed, 17 Feb 2010 10:09:38 +0200
 
 mafw-gst-renderer (0.2.2010.06-1) unstable; urgency=low
 
index bc7bb8c..ccb9ecc 100644 (file)
@@ -341,27 +341,47 @@ static void _notify_eos(MafwGstRendererState *self, GError **error)
                if (renderer->resume_playlist) {
                        mafw_gst_renderer_state_play(self, error);
                }
-       } else {
-               /* Move to next in playlist */
-               move_type =
-                       mafw_gst_renderer_move(renderer,
-                                             MAFW_GST_RENDERER_MOVE_TYPE_NEXT,
-                                             0, error);
-
-               switch (move_type) {
-               case MAFW_GST_RENDERER_MOVE_RESULT_OK:
-                       mafw_gst_renderer_state_play(self, error);
-                       break;
-               case MAFW_GST_RENDERER_MOVE_RESULT_PLAYLIST_LIMIT:
-               case MAFW_GST_RENDERER_MOVE_RESULT_NO_PLAYLIST:
+       } 
+    else 
+    {
+        gboolean is_stream  = uri_is_stream(self->renderer->worker->media.location);
+        if (is_stream 
+            && self->renderer->error_policy == MAFW_RENDERER_ERROR_POLICY_STOP 
+            && self->renderer->worker->media.length_nanos == -1 
+            && self->renderer->worker->media.seekable == SEEKABILITY_NO_SEEKABLE
+            && self->renderer->worker->media.has_visual_content == FALSE)
+        {
+            /* Endless Radio stream. Stream has no length, it is not seekable or it is not video. */
                        mafw_gst_renderer_worker_stop(self->renderer->worker);
                        mafw_gst_renderer_set_state(self->renderer, Stopped);
-                       break;
-               case MAFW_GST_RENDERER_MOVE_RESULT_ERROR:
-                       break;
-               default:
-                       g_critical("Movement not controlled");
-               }
+                       g_signal_emit_by_name(MAFW_EXTENSION(self->renderer), "error",
+                                             MAFW_RENDERER_ERROR, MAFW_RENDERER_ERROR_STREAM_DISCONNECTED,
+                                             "EOS FOR ENDLESS STREAM");
+        }
+        else
+        {
+                   /* Move to next in playlist */
+                   move_type =
+                           mafw_gst_renderer_move(renderer,
+                                                 MAFW_GST_RENDERER_MOVE_TYPE_NEXT,
+                                                 0, error);
+
+                   switch (move_type) 
+            {
+                       case MAFW_GST_RENDERER_MOVE_RESULT_OK:
+                               mafw_gst_renderer_state_play(self, error);
+                               break;
+                       case MAFW_GST_RENDERER_MOVE_RESULT_PLAYLIST_LIMIT:
+                       case MAFW_GST_RENDERER_MOVE_RESULT_NO_PLAYLIST:
+                               mafw_gst_renderer_worker_stop(self->renderer->worker);
+                               mafw_gst_renderer_set_state(self->renderer, Stopped);
+                               break;
+                       case MAFW_GST_RENDERER_MOVE_RESULT_ERROR:
+                               break;
+                       default:
+                               g_critical("Movement not controlled");
+                   }
+        }
        }
 }