diff --git a/libarmbox/playback_gst.cpp b/libarmbox/playback_gst.cpp index 53d9a5c..790b1c0 100644 --- a/libarmbox/playback_gst.cpp +++ b/libarmbox/playback_gst.cpp @@ -49,15 +49,18 @@ static const char * FILENAME = "[playback.cpp]"; typedef enum { - GST_PLAY_FLAG_VIDEO = 0x00000001, - GST_PLAY_FLAG_AUDIO = 0x00000002, - GST_PLAY_FLAG_TEXT = 0x00000004, - GST_PLAY_FLAG_VIS = 0x00000008, - GST_PLAY_FLAG_SOFT_VOLUME = 0x00000010, - GST_PLAY_FLAG_NATIVE_AUDIO = 0x00000020, - GST_PLAY_FLAG_NATIVE_VIDEO = 0x00000040, - GST_PLAY_FLAG_DOWNLOAD = 0x00000080, - GST_PLAY_FLAG_BUFFERING = 0x000000100 + GST_PLAY_FLAG_VIDEO = (1 << 0), + GST_PLAY_FLAG_AUDIO = (1 << 1), + GST_PLAY_FLAG_TEXT = (1 << 2), + GST_PLAY_FLAG_VIS = (1 << 3), + GST_PLAY_FLAG_SOFT_VOLUME = (1 << 4), + GST_PLAY_FLAG_NATIVE_AUDIO = (1 << 5), + GST_PLAY_FLAG_NATIVE_VIDEO = (1 << 6), + GST_PLAY_FLAG_DOWNLOAD = (1 << 7), + GST_PLAY_FLAG_BUFFERING = (1 << 8), + GST_PLAY_FLAG_DEINTERLACE = (1 << 9), + GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10), + GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11), } GstPlayFlags; @@ -389,6 +392,9 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, lt_info("%s:%s - filename=%s\n", FILENAME, __FUNCTION__, filename); + guint flags = GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | \ + GST_PLAY_FLAG_TEXT | GST_PLAY_FLAG_NATIVE_VIDEO; + // create gst pipeline m_gst_playbin = gst_element_factory_make ("playbin", "playbin"); @@ -396,13 +402,6 @@ bool cPlayback::Start(char *filename, int /*vpid*/, int /*vtype*/, int /*apid*/, { lt_info("%s:%s - m_gst_playbin\n", FILENAME, __FUNCTION__); - guint flags; - g_object_get(G_OBJECT (m_gst_playbin), "flags", &flags, NULL); - /* avoid video conversion, let the (hardware) sinks handle that */ - flags |= GST_PLAY_FLAG_NATIVE_VIDEO; - /* volume control is done by hardware */ - flags &= ~GST_PLAY_FLAG_SOFT_VOLUME; - g_object_set(G_OBJECT (m_gst_playbin), "uri", uri, NULL); g_object_set(G_OBJECT (m_gst_playbin), "flags", flags, NULL);