summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLori Anderson <lori@rkymtnhi.com>2013-11-05 14:32:48 -0700
committerLori Anderson <lori@rkymtnhi.com>2013-11-05 14:32:48 -0700
commitd83bf18bf966455419be1fc6fad59685a1355f84 (patch)
tree546fabe58d651576e06c845e7e6caf2bb64a18f0
parent5c9dd326e7cc3ddaea8fe6c75cf54be4016c3d80 (diff)
parentc77f186b643d8036795f8f6a3d2135b3eb488961 (diff)
Merge branch 'master' into dlnasrc-36-cpp-comments
Conflicts: src/gstdlnasrc.c
-rw-r--r--src/gstdlnasrc.c29
-rw-r--r--src/gstdlnasrc.h1
2 files changed, 26 insertions, 4 deletions
diff --git a/src/gstdlnasrc.c b/src/gstdlnasrc.c
index 5187e34..4c6f071 100644
--- a/src/gstdlnasrc.c
+++ b/src/gstdlnasrc.c
@@ -1599,7 +1599,7 @@ dlna_src_setup_bin (GstDlnaSrc * dlna_src)
} else
GST_INFO_OBJECT (dlna_src, "Not setting URI of souphttpsrc");
- /* Setup dtcp element if content is encrypted */
+ /* Setup dtcp element if necessary */
if (dlna_src->is_encrypted) {
GST_INFO_OBJECT (dlna_src, "Setting up dtcp");
if (!dlna_src_setup_dtcp (dlna_src)) {
@@ -1688,9 +1688,32 @@ dlna_src_setup_dtcp (GstDlnaSrc * dlna_src)
(dlna_src->http_src, dlna_src->dtcp_decrypter, NULL)) {
GST_ERROR_OBJECT (dlna_src, "Problems linking elements in src. Exiting.");
return FALSE;
- } else
- GST_INFO_OBJECT (dlna_src, "Linked http src and dtcp decrypter");
+ }
+
+ GST_INFO_OBJECT (dlna_src, "Getting dtcpip decrypter src pad");
+ GstPad *pad = gst_element_get_static_pad (dlna_src->dtcp_decrypter, "src");
+ if (!pad) {
+ GST_ERROR_OBJECT (dlna_src,
+ "Could not get pad for dtcp decrypter. Exiting.");
+ return FALSE;
+ }
+
+ GST_INFO_OBJECT (dlna_src,
+ "Creating src pad for dlnasrc bin using decyrpter src pad");
+ dlna_src->src_pad = gst_ghost_pad_new ("src", pad);
+ gst_pad_set_active (dlna_src->src_pad, TRUE);
+ gst_element_add_pad (GST_ELEMENT (&dlna_src->bin), dlna_src->src_pad);
+ gst_object_unref (pad);
+
+ // Configure event function on sink pad before adding pad to element
+ gst_pad_set_event_function (dlna_src->src_pad,
+ (GstPadEventFunction) gst_dlna_src_event);
+
+ // Configure event function on sink pad before adding pad to element
+ gst_pad_set_query_function (dlna_src->src_pad,
+ (GstPadQueryFunction) gst_dlna_src_query);
+ // Setup the block size for dtcp
g_object_set (dlna_src->http_src, "blocksize", dlna_src->dtcp_blocksize,
NULL);
diff --git a/src/gstdlnasrc.h b/src/gstdlnasrc.h
index f584c3e..5322d54 100644
--- a/src/gstdlnasrc.h
+++ b/src/gstdlnasrc.h
@@ -81,7 +81,6 @@ struct _GstDlnaSrc
/* Current playback rate */
gfloat rate;
-
gfloat requested_rate;
GstFormat requested_format;
guint64 requested_start;