63 lines
1.8 KiB
Diff
63 lines
1.8 KiB
Diff
From c782a30482908a4b4dd9cd4abff9f9bc4016698f Mon Sep 17 00:00:00 2001
|
|
From: Song Bing <b06498@freescale.com>
|
|
Date: Tue, 5 Aug 2014 14:40:46 +0800
|
|
Subject: [PATCH] gstrtpmp4gpay: set dafault value for MPEG4 without codec
|
|
data in caps.
|
|
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=734263
|
|
|
|
Upstream-Status: Submitted
|
|
|
|
Signed-off-by: Song Bing <b06498@freescale.com>
|
|
---
|
|
gst/rtp/gstrtpmp4gpay.c | 19 ++++++++++++++++++-
|
|
1 file changed, 18 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c
|
|
index 7913d9a..1749d39 100644
|
|
--- a/gst/rtp/gstrtpmp4gpay.c
|
|
+++ b/gst/rtp/gstrtpmp4gpay.c
|
|
@@ -391,6 +391,7 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
|
|
const GValue *codec_data;
|
|
const gchar *media_type = NULL;
|
|
gboolean res;
|
|
+ const gchar *name;
|
|
|
|
rtpmp4gpay = GST_RTP_MP4G_PAY (payload);
|
|
|
|
@@ -401,7 +402,6 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
|
|
GST_LOG_OBJECT (rtpmp4gpay, "got codec_data");
|
|
if (G_VALUE_TYPE (codec_data) == GST_TYPE_BUFFER) {
|
|
GstBuffer *buffer;
|
|
- const gchar *name;
|
|
|
|
buffer = gst_value_get_buffer (codec_data);
|
|
GST_LOG_OBJECT (rtpmp4gpay, "configuring codec_data");
|
|
@@ -427,6 +427,23 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
|
|
|
|
rtpmp4gpay->config = gst_buffer_copy (buffer);
|
|
}
|
|
+ } else {
|
|
+ name = gst_structure_get_name (structure);
|
|
+
|
|
+ if (!strcmp (name, "video/mpeg")) {
|
|
+ rtpmp4gpay->profile = g_strdup ("1");
|
|
+
|
|
+ /* fixed rate */
|
|
+ rtpmp4gpay->rate = 90000;
|
|
+ /* video stream type */
|
|
+ rtpmp4gpay->streamtype = "4";
|
|
+ /* no params for video */
|
|
+ rtpmp4gpay->params = NULL;
|
|
+ /* mode */
|
|
+ rtpmp4gpay->mode = "generic";
|
|
+
|
|
+ media_type = "video";
|
|
+ }
|
|
}
|
|
if (media_type == NULL)
|
|
goto config_failed;
|
|
--
|
|
1.7.9.5
|
|
|