diff options
-rw-r--r-- | docs/plugins/.gitignore | 3 | ||||
-rw-r--r-- | docs/plugins/Makefile.am | 1 | ||||
-rw-r--r-- | docs/plugins/gst-plugins-bad-plugins-docs.sgml | 2 | ||||
-rw-r--r-- | docs/plugins/gst-plugins-bad-plugins-sections.txt | 14 | ||||
-rw-r--r-- | docs/plugins/inspect/plugin-dirac.xml | 34 | ||||
-rw-r--r-- | ext/apexsink/gstapexraop.c | 24 | ||||
-rw-r--r-- | ext/celt/gstceltdec.c | 2 | ||||
-rw-r--r-- | ext/celt/gstceltdec.h | 2 | ||||
-rw-r--r-- | ext/dts/gstdtsdec.c | 25 |
9 files changed, 94 insertions, 13 deletions
diff --git a/docs/plugins/.gitignore b/docs/plugins/.gitignore index 73d2bbd3..13ac8df7 100644 --- a/docs/plugins/.gitignore +++ b/docs/plugins/.gitignore @@ -6,6 +6,7 @@ Makefile.in *-undocumented.txt *-undeclared.txt *-unused.txt +*.bak tmpl xml @@ -13,7 +14,7 @@ html gst-plugins-bad-plugins-scan gst-plugins-bad-plugins-scan.c -inspect-registry. +inspect-registry.* html-build.stamp html.stamp diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index c5504b19..5f78f46f 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -96,6 +96,7 @@ EXTRA_HFILES = \ $(top_srcdir)/ext/celt/gstceltenc.h \ $(top_srcdir)/ext/dc1394/gstdc1394.h \ $(top_srcdir)/ext/directfb/dfbvideosink.h \ + $(top_srcdir)/ext/dts/gstdtsdec.h \ $(top_srcdir)/ext/ivorbis/vorbisdec.h \ $(top_srcdir)/ext/jack/gstjackaudiosrc.h \ $(top_srcdir)/ext/jack/gstjackaudiosink.h \ diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml index 1b399ba5..57ea1674 100644 --- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml @@ -34,6 +34,7 @@ <xi:include href="xml/element-deinterlace.xml" /> <xi:include href="xml/element-dfbvideosink.xml" /> <xi:include href="xml/element-dtmfsrc.xml" /> + <xi:include href="xml/element-dtsdec.xml" /> <xi:include href="xml/element-dvbsrc.xml" /> <xi:include href="xml/element-dvdspu.xml" /> <xi:include href="xml/element-festival.xml" /> @@ -97,6 +98,7 @@ <xi:include href="xml/plugin-celt.xml" /> <xi:include href="xml/plugin-dccp.xml" /> <xi:include href="xml/plugin-dfbvideosink.xml" /> + <xi:include href="xml/plugin-dirac.xml" /> <xi:include href="xml/plugin-dtmf.xml" /> <xi:include href="xml/plugin-dtsdec.xml" /> <xi:include href="xml/plugin-dvbsrc.xml" /> diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt index a2829ef9..bf07b16f 100644 --- a/docs/plugins/gst-plugins-bad-plugins-sections.txt +++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt @@ -249,6 +249,20 @@ gst_dtmf_src_plugin_init </SECTION> <SECTION> +<FILE>element-dtsdec</FILE> +<TITLE>dtsdec</TITLE> +GstDtsDec +<SUBSECTION Standard> +GstDtsDecClass +gst_dtsdec_get_type +GST_TYPE_DTSDEC +GST_DTSDEC +GST_DTSDEC_CLASS +GST_IS_DTSDEC +GST_IS_DTSDEC_CLASS +</SECTION> + +<SECTION> <FILE>element-dvbsrc</FILE> <TITLE>dvbsrc</TITLE> GstDvbSrc diff --git a/docs/plugins/inspect/plugin-dirac.xml b/docs/plugins/inspect/plugin-dirac.xml new file mode 100644 index 00000000..e16d0a32 --- /dev/null +++ b/docs/plugins/inspect/plugin-dirac.xml @@ -0,0 +1,34 @@ +<plugin> + <name>dirac</name> + <description>Dirac plugin</description> + <filename>../../ext/dirac/.libs/libgstdirac.so</filename> + <basename>libgstdirac.so</basename> + <version>0.10.10.1</version> + <license>LGPL</license> + <source>gst-plugins-bad</source> + <package>GStreamer Bad Plug-ins CVS/prerelease</package> + <origin>Unknown package origin</origin> + <elements> + <element> + <name>diracenc</name> + <longname>Dirac Encoder</longname> + <class>Codec/Encoder/Video</class> + <description>Encode raw YUV video into Dirac stream</description> + <author>David Schleef <ds@schleef.org></author> + <pads> + <caps> + <name>sink</name> + <direction>sink</direction> + <presence>always</presence> + <details>video/x-raw-yuv, format=(fourcc){ I420, YUY2, UYVY, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details> + </caps> + <caps> + <name>src</name> + <direction>source</direction> + <presence>always</presence> + <details>video/x-dirac</details> + </caps> + </pads> + </element> + </elements> +</plugin>
\ No newline at end of file diff --git a/ext/apexsink/gstapexraop.c b/ext/apexsink/gstapexraop.c index 42b707ca..98b7d863 100644 --- a/ext/apexsink/gstapexraop.c +++ b/ext/apexsink/gstapexraop.c @@ -231,7 +231,17 @@ gst_apexraop_connect (GstApExRAOP * con) creq[GST_APEX_RAOP_SDP_DEFAULT_LENGTH], hreq[GST_APEX_RAOP_HDR_DEFAULT_LENGTH], *req; RSA *rsa; - guchar *mod, *exp, buf[4 + 8 + 16], rsakey[512]; + guchar *mod, *exp, rsakey[512]; + union gst_randbytes + { + struct asvals + { + gulong url_key; + guint64 conn_id; + guchar challenge[16]; + } v; + guchar buf[4 + 8 + 16]; + } randbuf; gsize size; struct sockaddr_in ioaddr; socklen_t iolen; @@ -257,12 +267,9 @@ gst_apexraop_connect (GstApExRAOP * con) sizeof (conn->ctrl_sd_in)) < 0) return GST_RTSP_STS_DESTINATION_UNREACHABLE; - RAND_bytes (buf, sizeof (buf)); - sprintf ((gchar *) conn->url_abspath, "%lu", *((gulong *) buf)); - ac = g_base64_encode (buf + 12, 16); - g_strdel (ac, '='); - sprintf ((char *) conn->cid, "%08lx%08lx", *((gulong *) (buf + 4)), - *((gulong *) (buf + 8))); + RAND_bytes (randbuf.buf, sizeof (randbuf)); + sprintf ((gchar *) conn->url_abspath, "%lu", randbuf.v.url_key); + sprintf ((char *) conn->cid, "%16" G_GINT64_MODIFIER "x", randbuf.v.conn_id); RAND_bytes (conn->aes_ky, AES_BLOCK_SIZE); RAND_bytes (conn->aes_iv, AES_BLOCK_SIZE); @@ -285,6 +292,9 @@ gst_apexraop_connect (GstApExRAOP * con) getsockname (conn->ctrl_sd, (struct sockaddr *) &ioaddr, &iolen); inet_ntop (AF_INET, &(ioaddr.sin_addr), inaddr, INET_ADDRSTRLEN); + ac = g_base64_encode (randbuf.v.challenge, 16); + g_strdel (ac, '='); + sprintf (creq, "v=0\r\n" "o=iTunes %s 0 IN IP4 %s\r\n" diff --git a/ext/celt/gstceltdec.c b/ext/celt/gstceltdec.c index fe1914b8..2f3d7807 100644 --- a/ext/celt/gstceltdec.c +++ b/ext/celt/gstceltdec.c @@ -48,6 +48,8 @@ GST_DEBUG_CATEGORY_STATIC (celtdec_debug); #define GST_CAT_DEFAULT celtdec_debug +#define DEC_MAX_FRAME_SIZE 2000 + static GstStaticPadTemplate celt_dec_src_factory = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, diff --git a/ext/celt/gstceltdec.h b/ext/celt/gstceltdec.h index 19f14447..77851338 100644 --- a/ext/celt/gstceltdec.h +++ b/ext/celt/gstceltdec.h @@ -41,8 +41,6 @@ G_BEGIN_DECLS typedef struct _GstCeltDec GstCeltDec; typedef struct _GstCeltDecClass GstCeltDecClass; -#define DEC_MAX_FRAME_SIZE 2000 - struct _GstCeltDec { GstElement element; diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c index 58748e6c..5b85a803 100644 --- a/ext/dts/gstdtsdec.c +++ b/ext/dts/gstdtsdec.c @@ -17,9 +17,20 @@ * Boston, MA 02111-1307, USA. */ -/* TODO: - Port to libdca API instead of relying on the compat header. - * libdca is the successor of libdts: - * http://www.videolan.org/developers/libdca.html +/** + * SECTION:element-dtsdec + * + * Digital Theatre System (DTS) audio decoder + * + * <refsect2> + * <title>Example launch line</title> + * |[ + * gst-launch dvdreadsrc title=1 ! mpegpsdemux ! dtsdec ! audioresample ! audioconvert ! alsasink + * ]| Play a DTS audio track from a dvd. + * |[ + * gst-launch filesrc location=abc.dts ! dtsdec ! audioresample ! audioconvert ! alsasink + * ]| Decode a standalone file and play it. + * </refsect2> */ #ifdef HAVE_CONFIG_H @@ -162,6 +173,14 @@ gst_dtsdec_class_init (GstDtsDecClass * klass) gstelement_class->change_state = gst_dtsdec_change_state; + /** + * GstDtsDec::drc + * + * Set to true to apply the recommended DTS dynamic range compression + * to the audio stream. Dynamic range compression makes loud sounds + * softer and soft sounds louder, so you can more easily listen + * to the stream without disturbing other people. + */ g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DRC, g_param_spec_boolean ("drc", "Dynamic Range Compression", "Use Dynamic Range Compression", FALSE, G_PARAM_READWRITE)); |