-#ifdef HAVE_GSTREAMER
-
/* note: this requires gstreamer 0.10.x and a big list of plugins. */
/* it's currently hardcoded to use a big-endian alsasink as sink. */
#include <lib/base/ebase.h>
extensions.push_back("mp4");
extensions.push_back("mov");
extensions.push_back("m4a");
- extensions.push_back("m2ts");
sc->addServiceFactory(eServiceFactoryMP3::id, this, extensions);
}
g_object_set (G_OBJECT (m_gst_playbin), "uri", uri, NULL);
- int flags = 0x47; // ( == GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_TEXT )
+ int flags = 0x47; // ( GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_TEXT );
g_object_set (G_OBJECT (m_gst_playbin), "flags", flags, NULL);
g_free(uri);
gst_bin_add(GST_BIN(m_gst_subtitlebin), appsink);
}
-// GstPad *ghostpad = gst_ghost_pad_new("sink", gst_element_get_static_pad (appsink, "sink"));
-
GstPadTemplate *templ;
templ = gst_static_pad_template_get (&subsinktemplate);
g_object_set (G_OBJECT (appsink), "caps", caps, NULL);
gst_caps_unref(caps);
-// GstCaps* caps2 = gst_caps_from_string("text/plain; text/x-pango-markup; video/x-dvd-subpicture");
-// int ret = gst_pad_set_caps (ghostpad, caps2);
-// gst_caps_unref(caps2);
-
-
g_object_set (G_OBJECT (appsink), "async", FALSE, NULL);
g_object_set (G_OBJECT (appsink), "sync", TRUE, NULL);
g_object_set (G_OBJECT (appsink), "emit-signals", TRUE, NULL);
source = GST_MESSAGE_SRC(msg);
sourceName = gst_object_get_name(source);
-#if 0
+#if 1
if (gst_message_get_structure(msg))
{
gchar *string = gst_structure_to_string(gst_message_get_structure(msg));
} break;
case GST_STATE_CHANGE_READY_TO_PAUSED:
{
-// GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_subtitlebin), "subtitle_sink");
+ GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_subtitlebin), "subtitle_sink");
// GstElement *appsink = gst_bin_get_by_name(GST_BIN(m_gst_playbin), "subtitle_sink");
-// if (appsink)
-// {
-// g_object_set (G_OBJECT (appsink), "max-buffers", 2, NULL);
-// g_object_set (G_OBJECT (appsink), "sync", FALSE, NULL);
-// g_object_set (G_OBJECT (appsink), "emit-signals", TRUE, NULL);
-// eDebug("eServiceMP3::appsink properties set!");
-// gst_object_unref(appsink);
-// }
+ if (appsink)
+ {
+ g_object_set (G_OBJECT (appsink), "max-buffers", 2, NULL);
+ g_object_set (G_OBJECT (appsink), "sync", FALSE, NULL);
+ g_object_set (G_OBJECT (appsink), "emit-signals", TRUE, NULL);
+ eDebug("eServiceMP3::appsink properties set!");
+ gst_object_unref(appsink);
+ }
setAC3Delay(ac3_delay);
setPCMDelay(pcm_delay);
} break;
continue;
GstStructure* str = gst_caps_get_structure(caps, 0);
const gchar *g_type = gst_structure_get_name(str);
- eDebug("AUDIO STRUCT=%s", g_type);
audio.type = gstCheckAudioPad(str);
g_codec = g_strdup(g_type);
g_lang = g_strdup_printf ("und");
{
if ( frontpage.pango_page != 0)
{
-// eDebug("immediate show pango subtitle line");
m_subtitle_widget->setPage(*(frontpage.pango_page));
}
else if ( frontpage.vob_page != 0)
Py_DECREF(tuple);
stream_idx++;
}
+ eDebug("eServiceMP3::getSubtitleList finished");
return l;
}
}
}
-#else
-#warning gstreamer not available, not building media player
-#endif