fix seekable status when service is already running, only show infobar if InfoBarShow...
[enigma2.git] / lib / service / servicemp3.cpp
index 22128aa29a37aace3923a24c8595386932770c4f..3d8def574e7155f289d360b0c36ea12b78f158cc 100644 (file)
@@ -142,7 +142,8 @@ eServiceMP3::eServiceMP3(const char *filename): m_filename(filename), m_pump(eAp
        else
        {
                source = gst_element_factory_make ("neonhttpsrc", "http-source");
-               g_object_set (G_OBJECT (source), "automatic-redirect", TRUE, NULL);
+               if (source)
+                       g_object_set (G_OBJECT (source), "automatic-redirect", TRUE, NULL);
        }
 
        if (!source)
@@ -206,7 +207,13 @@ eServiceMP3::eServiceMP3(const char *filename): m_filename(filename), m_pump(eAp
                
                eDebug("audio: %p, queue_audio %p, video %p, queue_video %p, mpegdemux %p", audio, queue_audio, video, queue_video, mpegdemux);
                if (audio && queue_audio && video && queue_video && mpegdemux)
+               {
+                       g_object_set (G_OBJECT (queue_audio), "max-size-buffers", 0, NULL);
+                       g_object_set (G_OBJECT (queue_audio), "max-size-time", (guint64)0, NULL);
+                       g_object_set (G_OBJECT (queue_video), "max-size-buffers", 0, NULL);
+                       g_object_set (G_OBJECT (queue_video), "max-size-time", (guint64)0, NULL);
                        all_ok = 1;
+               }
        }
        
        if (m_gst_pipeline && all_ok)
@@ -569,6 +576,8 @@ void eServiceMP3::gstBusCall(GstBus *bus, GstMessage *msg)
                        m_stream_tags = result;
                }
                gst_tag_list_free(tags);
+               
+               m_event((iPlayableService*)this, evUpdatedInfo);
                break;
        }
        default: