limit queue size
[enigma2.git] / lib / service / servicemp3.cpp
index 3f6aa30ff66d1e20eb7c327455731b04c541e9dc..bedc3707b5273d26c10c442dc0e5922276ae89ad 100644 (file)
@@ -140,7 +140,10 @@ eServiceMP3::eServiceMP3(const char *filename): m_filename(filename), m_pump(eAp
        if (!is_streaming)
                source = gst_element_factory_make ("filesrc", "file-source");
        else
+       {
                source = gst_element_factory_make ("neonhttpsrc", "http-source");
+               g_object_set (G_OBJECT (source), "automatic-redirect", TRUE, NULL);
+       }
 
        if (!source)
                eWarning("failed to create %s", is_streaming ? "neonhttpsrc" : "filesrc");
@@ -203,7 +206,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)