mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 03:01:03 +00:00
Merge branch 'master' into 0.11
This commit is contained in:
commit
8eceb64b99
3 changed files with 88 additions and 2 deletions
|
@ -1061,6 +1061,27 @@ gboolean
|
||||||
gst_video_format_is_rgb (GstVideoFormat format)
|
gst_video_format_is_rgb (GstVideoFormat format)
|
||||||
{
|
{
|
||||||
switch (format) {
|
switch (format) {
|
||||||
|
case GST_VIDEO_FORMAT_I420:
|
||||||
|
case GST_VIDEO_FORMAT_YV12:
|
||||||
|
case GST_VIDEO_FORMAT_YUY2:
|
||||||
|
case GST_VIDEO_FORMAT_YVYU:
|
||||||
|
case GST_VIDEO_FORMAT_UYVY:
|
||||||
|
case GST_VIDEO_FORMAT_AYUV:
|
||||||
|
case GST_VIDEO_FORMAT_Y41B:
|
||||||
|
case GST_VIDEO_FORMAT_Y42B:
|
||||||
|
case GST_VIDEO_FORMAT_Y444:
|
||||||
|
case GST_VIDEO_FORMAT_v210:
|
||||||
|
case GST_VIDEO_FORMAT_v216:
|
||||||
|
case GST_VIDEO_FORMAT_NV12:
|
||||||
|
case GST_VIDEO_FORMAT_NV21:
|
||||||
|
case GST_VIDEO_FORMAT_v308:
|
||||||
|
case GST_VIDEO_FORMAT_UYVP:
|
||||||
|
case GST_VIDEO_FORMAT_A420:
|
||||||
|
case GST_VIDEO_FORMAT_YUV9:
|
||||||
|
case GST_VIDEO_FORMAT_YVU9:
|
||||||
|
case GST_VIDEO_FORMAT_IYU1:
|
||||||
|
case GST_VIDEO_FORMAT_AYUV64:
|
||||||
|
return FALSE;
|
||||||
case GST_VIDEO_FORMAT_RGBx:
|
case GST_VIDEO_FORMAT_RGBx:
|
||||||
case GST_VIDEO_FORMAT_BGRx:
|
case GST_VIDEO_FORMAT_BGRx:
|
||||||
case GST_VIDEO_FORMAT_xRGB:
|
case GST_VIDEO_FORMAT_xRGB:
|
||||||
|
@ -1121,6 +1142,24 @@ gst_video_format_is_yuv (GstVideoFormat format)
|
||||||
case GST_VIDEO_FORMAT_IYU1:
|
case GST_VIDEO_FORMAT_IYU1:
|
||||||
case GST_VIDEO_FORMAT_AYUV64:
|
case GST_VIDEO_FORMAT_AYUV64:
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
case GST_VIDEO_FORMAT_RGBx:
|
||||||
|
case GST_VIDEO_FORMAT_BGRx:
|
||||||
|
case GST_VIDEO_FORMAT_xRGB:
|
||||||
|
case GST_VIDEO_FORMAT_xBGR:
|
||||||
|
case GST_VIDEO_FORMAT_RGBA:
|
||||||
|
case GST_VIDEO_FORMAT_BGRA:
|
||||||
|
case GST_VIDEO_FORMAT_ARGB:
|
||||||
|
case GST_VIDEO_FORMAT_ABGR:
|
||||||
|
case GST_VIDEO_FORMAT_RGB:
|
||||||
|
case GST_VIDEO_FORMAT_BGR:
|
||||||
|
case GST_VIDEO_FORMAT_RGB16:
|
||||||
|
case GST_VIDEO_FORMAT_BGR16:
|
||||||
|
case GST_VIDEO_FORMAT_RGB15:
|
||||||
|
case GST_VIDEO_FORMAT_BGR15:
|
||||||
|
case GST_VIDEO_FORMAT_RGB8_PALETTED:
|
||||||
|
case GST_VIDEO_FORMAT_ARGB64:
|
||||||
|
case GST_VIDEO_FORMAT_r210:
|
||||||
|
return FALSE;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -1166,6 +1205,26 @@ gboolean
|
||||||
gst_video_format_has_alpha (GstVideoFormat format)
|
gst_video_format_has_alpha (GstVideoFormat format)
|
||||||
{
|
{
|
||||||
switch (format) {
|
switch (format) {
|
||||||
|
case GST_VIDEO_FORMAT_I420:
|
||||||
|
case GST_VIDEO_FORMAT_YV12:
|
||||||
|
case GST_VIDEO_FORMAT_YUY2:
|
||||||
|
case GST_VIDEO_FORMAT_YVYU:
|
||||||
|
case GST_VIDEO_FORMAT_UYVY:
|
||||||
|
case GST_VIDEO_FORMAT_Y41B:
|
||||||
|
case GST_VIDEO_FORMAT_Y42B:
|
||||||
|
case GST_VIDEO_FORMAT_Y444:
|
||||||
|
case GST_VIDEO_FORMAT_v210:
|
||||||
|
case GST_VIDEO_FORMAT_v216:
|
||||||
|
case GST_VIDEO_FORMAT_NV12:
|
||||||
|
case GST_VIDEO_FORMAT_NV21:
|
||||||
|
case GST_VIDEO_FORMAT_v308:
|
||||||
|
case GST_VIDEO_FORMAT_Y800:
|
||||||
|
case GST_VIDEO_FORMAT_Y16:
|
||||||
|
case GST_VIDEO_FORMAT_UYVP:
|
||||||
|
case GST_VIDEO_FORMAT_YUV9:
|
||||||
|
case GST_VIDEO_FORMAT_YVU9:
|
||||||
|
case GST_VIDEO_FORMAT_IYU1:
|
||||||
|
return FALSE;
|
||||||
case GST_VIDEO_FORMAT_AYUV:
|
case GST_VIDEO_FORMAT_AYUV:
|
||||||
case GST_VIDEO_FORMAT_RGBA:
|
case GST_VIDEO_FORMAT_RGBA:
|
||||||
case GST_VIDEO_FORMAT_BGRA:
|
case GST_VIDEO_FORMAT_BGRA:
|
||||||
|
@ -1176,6 +1235,18 @@ gst_video_format_has_alpha (GstVideoFormat format)
|
||||||
case GST_VIDEO_FORMAT_ARGB64:
|
case GST_VIDEO_FORMAT_ARGB64:
|
||||||
case GST_VIDEO_FORMAT_AYUV64:
|
case GST_VIDEO_FORMAT_AYUV64:
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
case GST_VIDEO_FORMAT_RGBx:
|
||||||
|
case GST_VIDEO_FORMAT_BGRx:
|
||||||
|
case GST_VIDEO_FORMAT_xRGB:
|
||||||
|
case GST_VIDEO_FORMAT_xBGR:
|
||||||
|
case GST_VIDEO_FORMAT_RGB:
|
||||||
|
case GST_VIDEO_FORMAT_BGR:
|
||||||
|
case GST_VIDEO_FORMAT_RGB16:
|
||||||
|
case GST_VIDEO_FORMAT_BGR16:
|
||||||
|
case GST_VIDEO_FORMAT_RGB15:
|
||||||
|
case GST_VIDEO_FORMAT_BGR15:
|
||||||
|
case GST_VIDEO_FORMAT_r210:
|
||||||
|
return FALSE;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3642,6 +3642,7 @@ gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
{
|
{
|
||||||
GstStateChangeReturn ret;
|
GstStateChangeReturn ret;
|
||||||
GstPlayBin *playbin;
|
GstPlayBin *playbin;
|
||||||
|
gboolean do_save = FALSE;
|
||||||
|
|
||||||
playbin = GST_PLAY_BIN (element);
|
playbin = GST_PLAY_BIN (element);
|
||||||
|
|
||||||
|
@ -3660,6 +3661,7 @@ gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
case GST_STATE_CHANGE_PAUSED_TO_READY:
|
||||||
|
async_down:
|
||||||
/* FIXME unlock our waiting groups */
|
/* FIXME unlock our waiting groups */
|
||||||
GST_LOG_OBJECT (playbin, "setting shutdown flag");
|
GST_LOG_OBJECT (playbin, "setting shutdown flag");
|
||||||
g_atomic_int_set (&playbin->shutdown, 1);
|
g_atomic_int_set (&playbin->shutdown, 1);
|
||||||
|
@ -3671,8 +3673,16 @@ gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
GST_PLAY_BIN_DYN_LOCK (playbin);
|
GST_PLAY_BIN_DYN_LOCK (playbin);
|
||||||
GST_LOG_OBJECT (playbin, "dynamic lock taken, we can continue shutdown");
|
GST_LOG_OBJECT (playbin, "dynamic lock taken, we can continue shutdown");
|
||||||
GST_PLAY_BIN_DYN_UNLOCK (playbin);
|
GST_PLAY_BIN_DYN_UNLOCK (playbin);
|
||||||
break;
|
if (!do_save)
|
||||||
|
break;
|
||||||
case GST_STATE_CHANGE_READY_TO_NULL:
|
case GST_STATE_CHANGE_READY_TO_NULL:
|
||||||
|
/* we go async to PAUSED, so if that fails, we never make it to PAUSED
|
||||||
|
* an no state change PAUSED to READY passes here,
|
||||||
|
* though it is a nice-to-have ... */
|
||||||
|
if (!g_atomic_int_get (&playbin->shutdown)) {
|
||||||
|
do_save = TRUE;
|
||||||
|
goto async_down;
|
||||||
|
}
|
||||||
memset (&playbin->duration, 0, sizeof (playbin->duration));
|
memset (&playbin->duration, 0, sizeof (playbin->duration));
|
||||||
|
|
||||||
/* unlock so that all groups go to NULL */
|
/* unlock so that all groups go to NULL */
|
||||||
|
@ -3699,6 +3709,9 @@ gst_play_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
{
|
{
|
||||||
guint i;
|
guint i;
|
||||||
|
|
||||||
|
/* also do missed state change down to READY */
|
||||||
|
if (do_save)
|
||||||
|
save_current_group (playbin);
|
||||||
/* Deactive the groups, set the uridecodebins to NULL
|
/* Deactive the groups, set the uridecodebins to NULL
|
||||||
* and unref them.
|
* and unref them.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -171,7 +171,9 @@ VALGRIND_TO_FIX = \
|
||||||
noinst_PROGRAMS = $(check_libvisual)
|
noinst_PROGRAMS = $(check_libvisual)
|
||||||
|
|
||||||
noinst_HEADERS = \
|
noinst_HEADERS = \
|
||||||
libs/struct_*.h
|
libs/struct_i386.h \
|
||||||
|
libs/struct_i386_osx.h \
|
||||||
|
libs/struct_x86_64.h
|
||||||
|
|
||||||
AM_CFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
|
AM_CFLAGS = -I$(top_srcdir)/gst-libs -I$(top_builddir)/gst-libs \
|
||||||
$(GST_CFLAGS) $(GST_CHECK_CFLAGS) \
|
$(GST_CFLAGS) $(GST_CHECK_CFLAGS) \
|
||||||
|
|
Loading…
Reference in a new issue