rtppay: don't ignore result from set_outcaps

set_outcaps can fail and we need to propagate the result upstream.
This commit is contained in:
Wim Taymans 2010-02-04 15:59:25 +01:00
parent 1f9c39da2a
commit ad6d4540a7
6 changed files with 21 additions and 15 deletions

View file

@ -137,6 +137,7 @@ static gboolean
gst_rtp_amr_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
{
GstRtpAMRPay *rtpamrpay;
gboolean res;
const GstStructure *s;
const gchar *str;
@ -160,7 +161,7 @@ gst_rtp_amr_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
gst_basertppayload_set_options (basepayload, "audio", TRUE, "AMR-WB",
16000);
gst_basertppayload_set_outcaps (basepayload,
res = gst_basertppayload_set_outcaps (basepayload,
"encoding-params", G_TYPE_STRING, "1", "octet-align", G_TYPE_STRING, "1",
/* don't set the defaults
*
@ -170,7 +171,7 @@ gst_rtp_amr_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
*/
NULL);
return TRUE;
return res;
/* ERRORS */
wrong_type:

View file

@ -191,7 +191,7 @@ static gboolean
gst_dv_pay_negotiate (GstRTPDVPay * rtpdvpay, guint8 * data, guint size)
{
gchar *encode, *media;
gboolean audio_bundled;
gboolean audio_bundled, res;
if ((data[3] & 0x80) == 0) { /* DSF flag */
/* it's an NTSC format */
@ -232,14 +232,14 @@ gst_dv_pay_negotiate (GstRTPDVPay * rtpdvpay, guint8 * data, guint size)
"DV", 90000);
if (audio_bundled) {
gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpdvpay),
res = gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpdvpay),
"encode", G_TYPE_STRING, encode,
"audio", G_TYPE_STRING, "bundled", NULL);
} else {
gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpdvpay),
res = gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpdvpay),
"encode", G_TYPE_STRING, encode, NULL);
}
return TRUE;
return res;
}
static gboolean

View file

@ -143,6 +143,7 @@ gst_rtp_g726_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
GstBaseRTPAudioPayload *basertpaudiopayload;
GstRtpG726Pay *pay;
GstCaps *peercaps;
gboolean res;
basertpaudiopayload = GST_BASE_RTP_AUDIO_PAYLOAD (payload);
pay = GST_RTP_G726_PAY (payload);
@ -242,11 +243,11 @@ gst_rtp_g726_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
}
gst_basertppayload_set_options (payload, "audio", TRUE, encoding_name, 8000);
gst_basertppayload_set_outcaps (payload, NULL);
res = gst_basertppayload_set_outcaps (payload, NULL);
g_free (encoding_name);
return TRUE;
return res;
/* ERRORS */
invalid_bitrate:

View file

@ -175,6 +175,7 @@ gst_rtp_j2k_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
GstStructure *caps_structure = gst_caps_get_structure (caps, 0);
GstRtpJ2KPay *pay;
gint width = 0, height = 0;
gboolean res;
pay = GST_RTP_J2K_PAY (basepayload);
@ -188,9 +189,9 @@ gst_rtp_j2k_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
gst_basertppayload_set_options (basepayload, "video", TRUE, "JPEG2000",
90000);
gst_basertppayload_set_outcaps (basepayload, NULL);
res = gst_basertppayload_set_outcaps (basepayload, NULL);
return TRUE;
return res;
}

View file

@ -274,6 +274,7 @@ gst_rtp_jpeg_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
{
GstStructure *caps_structure = gst_caps_get_structure (caps, 0);
GstRtpJPEGPay *pay;
gboolean res;
gint width = 0, height = 0;
pay = GST_RTP_JPEG_PAY (basepayload);
@ -293,9 +294,9 @@ gst_rtp_jpeg_pay_setcaps (GstBaseRTPPayload * basepayload, GstCaps * caps)
pay->width = width / 8;
gst_basertppayload_set_options (basepayload, "video", TRUE, "JPEG", 90000);
gst_basertppayload_set_outcaps (basepayload, NULL);
res = gst_basertppayload_set_outcaps (basepayload, NULL);
return TRUE;
return res;
/* ERRORS */
invalid_dimension:

View file

@ -114,10 +114,12 @@ gst_rtp_mp2t_pay_finalize (GObject * object)
static gboolean
gst_rtp_mp2t_pay_setcaps (GstBaseRTPPayload * payload, GstCaps * caps)
{
gst_basertppayload_set_options (payload, "video", TRUE, "MP2T-ES", 90000);
gst_basertppayload_set_outcaps (payload, NULL);
gboolean res;
return TRUE;
gst_basertppayload_set_options (payload, "video", TRUE, "MP2T-ES", 90000);
res = gst_basertppayload_set_outcaps (payload, NULL);
return res;
}
static GstFlowReturn