From b3f40fb46e95a3b5fb1d540a0386abd0fb3a2908 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Thu, 23 Jun 2011 11:28:04 -0700 Subject: [PATCH 1/7] Automatic update of common submodule From 69b981f to 605cd9a --- common | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common b/common index 69b981f10c..605cd9a65e 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 69b981f10caa234ad0ff639179d0fda8505bd94b +Subproject commit 605cd9a65ed61505f24b840d3fe8e252be72b151 From 4073e00839d0a30f8e0e3bb80ae96cac619a73d0 Mon Sep 17 00:00:00 2001 From: Jonathan Matthew Date: Sat, 11 Jun 2011 19:03:57 +1000 Subject: [PATCH 2/7] encoding-target: set names on audio and video profiles https://bugzilla.gnome.org/show_bug.cgi?id=652342 --- gst-libs/gst/pbutils/encoding-target.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst-libs/gst/pbutils/encoding-target.c b/gst-libs/gst/pbutils/encoding-target.c index 29e67d06a0..f3002b7eab 100644 --- a/gst-libs/gst/pbutils/encoding-target.c +++ b/gst-libs/gst/pbutils/encoding-target.c @@ -642,10 +642,14 @@ parse_encoding_profile (GKeyFile * in, gchar * parentprofilename, *) sprof, variableframerate); gst_encoding_video_profile_set_pass ((GstEncodingVideoProfile *) sprof, pass); + gst_encoding_profile_set_name (sprof, pname); + gst_encoding_profile_set_description (sprof, description); } else if (!g_strcmp0 (proftype, "audio")) { sprof = (GstEncodingProfile *) gst_encoding_audio_profile_new (formatcaps, preset, restrictioncaps, presence); + gst_encoding_profile_set_name (sprof, pname); + gst_encoding_profile_set_description (sprof, description); } else GST_ERROR ("Unknown profile format '%s'", proftype); From bbe23fdee97b0e3e85804910fc2782f0bfd3f882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 26 Jun 2011 00:36:36 +0100 Subject: [PATCH 3/7] tag: GstXmpWriter doesn't use the GstImplementsInterface No need for per-instance checking of interface implementation here, presumably just a copy'n'paste issue. --- gst-libs/gst/tag/xmpwriter.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/tag/xmpwriter.h b/gst-libs/gst/tag/xmpwriter.h index 6c89072c23..a7f6e4a976 100644 --- a/gst-libs/gst/tag/xmpwriter.h +++ b/gst-libs/gst/tag/xmpwriter.h @@ -27,11 +27,11 @@ G_BEGIN_DECLS #define GST_TYPE_TAG_XMP_WRITER \ (gst_tag_xmp_writer_get_type ()) #define GST_TAG_XMP_WRITER(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_XMP_WRITER, GstTagXmpWriter)) + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_XMP_WRITER, GstTagXmpWriter)) #define GST_TAG_XMP_WRITER_INTERFACE(iface) \ (G_TYPE_CHECK_INTERFACE_CAST ((iface), GST_TYPE_TAG_XMP_WRITER, GstTagXmpWriterInterface)) #define GST_IS_TAG_XMP_WRITER(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_XMP_WRITER)) + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_XMP_WRITER)) #define GST_IS_TAG_XMP_WRITER_INTERFACE(iface) \ (G_TYPE_CHECK_INTERFACE_TYPE ((iface), GST_TYPE_TAG_XMP_WRITER)) #define GST_TAG_XMP_WRITER_GET_INTERFACE(inst) \ From d77991106bb9a9e1aa05491f56150c52ab02d4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 26 Jun 2011 00:40:20 +0100 Subject: [PATCH 4/7] rtsp: GstRTSPExtension isn't wrapped by GstImplementsInterface Fix copy'n'paste error in headers, GstRTSPExtension isn't something that's per-instance. --- gst-libs/gst/rtsp/gstrtspextension.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/rtsp/gstrtspextension.h b/gst-libs/gst/rtsp/gstrtspextension.h index a697c90c28..e2995f3d28 100644 --- a/gst-libs/gst/rtsp/gstrtspextension.h +++ b/gst-libs/gst/rtsp/gstrtspextension.h @@ -34,9 +34,9 @@ G_BEGIN_DECLS #define GST_TYPE_RTSP_EXTENSION \ (gst_rtsp_extension_get_type ()) #define GST_RTSP_EXTENSION(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_RTSP_EXTENSION, GstRTSPExtension)) + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_RTSP_EXTENSION, GstRTSPExtension)) #define GST_IS_RTSP_EXTENSION(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_RTSP_EXTENSION)) + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_RTSP_EXTENSION)) #define GST_RTSP_EXTENSION_GET_IFACE(inst) \ (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_RTSP_EXTENSION, GstRTSPExtensionInterface)) From 114d1525cae4e5efb01f6ecf7d027029259c59e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 26 Jun 2011 00:49:46 +0100 Subject: [PATCH 5/7] interfaces: GstStreamVolume isn't wrapped by GstImplementsInterface This interface depends on properties and isn't per-instance. --- gst-libs/gst/interfaces/streamvolume.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/interfaces/streamvolume.h b/gst-libs/gst/interfaces/streamvolume.h index 32a824c75a..ea47ab6163 100644 --- a/gst-libs/gst/interfaces/streamvolume.h +++ b/gst-libs/gst/interfaces/streamvolume.h @@ -27,11 +27,11 @@ G_BEGIN_DECLS #define GST_TYPE_STREAM_VOLUME \ (gst_stream_volume_get_type ()) #define GST_STREAM_VOLUME(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_STREAM_VOLUME, GstStreamVolume)) + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_STREAM_VOLUME, GstStreamVolume)) #define GST_STREAM_VOLUME_INTERFACE(iface) \ (G_TYPE_CHECK_INTERFACE_CAST ((iface), GST_TYPE_STREAM_VOLUME, GstStreamVolumeInterface)) #define GST_IS_STREAM_VOLUME(obj) \ - (GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_STREAM_VOLUME)) + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_STREAM_VOLUME)) #define GST_IS_STREAM_VOLUME_INTERFACE(iface) \ (G_TYPE_CHECK_INTERFACE_TYPE ((iface), GST_TYPE_STREAM_VOLUME)) #define GST_STREAM_VOLUME_GET_INTERFACE(inst) \ From dd97ccc293818ea97df8920a2e079775550f4a90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 26 Jun 2011 01:06:19 +0100 Subject: [PATCH 6/7] tests: the navigation interface isn't GstImplementsInterface-wrapped --- tests/check/libs/navigation.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/tests/check/libs/navigation.c b/tests/check/libs/navigation.c index e3928d1617..1f143a342a 100644 --- a/tests/check/libs/navigation.c +++ b/tests/check/libs/navigation.c @@ -54,7 +54,6 @@ struct TestElementClass GType test_element_get_type (void); static void init_interface (GType type); -static void gst_implements_interface_init (GstImplementsInterfaceClass * klass); static void nav_send_event (GstNavigation * navigation, GstStructure * structure); @@ -75,14 +74,7 @@ init_interface (GType type) NULL, NULL, }; - static const GInterfaceInfo implements_iface_info = { - (GInterfaceInitFunc) gst_implements_interface_init, - NULL, - NULL, - }; - g_type_add_interface_static (type, GST_TYPE_IMPLEMENTS_INTERFACE, - &implements_iface_info); g_type_add_interface_static (type, GST_TYPE_NAVIGATION, &navigation_iface_info); } @@ -97,22 +89,6 @@ test_element_class_init (TestElementClass * klass) { } -static gboolean -test_element_interface_supported (GstImplementsInterface * ifacE, - GType interface_type) -{ - if (interface_type == GST_TYPE_NAVIGATION) - return TRUE; - - return FALSE; -} - -static void -gst_implements_interface_init (GstImplementsInterfaceClass * klass) -{ - klass->supported = test_element_interface_supported; -} - static void test_element_init (TestElement * this, TestElementClass * klass) { From 0c4b5edd76ef2d4f26bc2548e95cf26f5f9e2b49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 26 Jun 2011 01:06:58 +0100 Subject: [PATCH 7/7] docs: minor addition to decodebin2 design doc --- docs/design/design-decodebin.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/design/design-decodebin.txt b/docs/design/design-decodebin.txt index 52b343a0f5..07cd3d4ac8 100644 --- a/docs/design/design-decodebin.txt +++ b/docs/design/design-decodebin.txt @@ -287,3 +287,8 @@ though (e.g. we would not be able to detect the profile in all cases then before plugging a decoder, which would make it hard to just play the audio part of a stream and not the video if a suitable decoder was missing, for example). + +Additional considerations: the same problem exists with sinks that support +non-raw formats. Consider, for example, an audio sink that accepts DTS audio, +but only the 14-bit variant, not the 16-bit variant (or only native endiannes). +Ideally dcaparse would convert into the required stream format here.