summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/plugins/.gitignore3
-rw-r--r--docs/plugins/Makefile.am1
-rw-r--r--docs/plugins/gst-plugins-bad-plugins-docs.sgml2
-rw-r--r--docs/plugins/gst-plugins-bad-plugins-sections.txt14
-rw-r--r--docs/plugins/inspect/plugin-dirac.xml34
-rw-r--r--ext/apexsink/gstapexraop.c24
-rw-r--r--ext/celt/gstceltdec.c2
-rw-r--r--ext/celt/gstceltdec.h2
-rw-r--r--ext/dts/gstdtsdec.c25
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 &lt;ds@schleef.org&gt;</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));