aboutsummaryrefslogtreecommitdiff
path: root/ext/x264/gstx264enc.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/x264/gstx264enc.c')
-rw-r--r--ext/x264/gstx264enc.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c
index 5fc5e12..7a2ea49 100644
--- a/ext/x264/gstx264enc.c
+++ b/ext/x264/gstx264enc.c
@@ -1223,44 +1223,35 @@ gst_x264_enc_gst_to_x264_video_format (GstVideoFormat format, gint * nplanes)
if (nplanes)
*nplanes = 3;
return X264_CSP_I420;
- break;
case GST_VIDEO_FORMAT_I420_10BE:
case GST_VIDEO_FORMAT_I420_10LE:
if (nplanes)
*nplanes = 3;
return X264_CSP_I420 | X264_CSP_HIGH_DEPTH;
- break;
case GST_VIDEO_FORMAT_Y42B:
if (nplanes)
*nplanes = 3;
return X264_CSP_I422;
- break;
case GST_VIDEO_FORMAT_I422_10BE:
case GST_VIDEO_FORMAT_I422_10LE:
if (nplanes)
*nplanes = 3;
return X264_CSP_I422 | X264_CSP_HIGH_DEPTH;
- break;
case GST_VIDEO_FORMAT_Y444:
if (nplanes)
*nplanes = 3;
return X264_CSP_I444;
- break;
case GST_VIDEO_FORMAT_Y444_10BE:
case GST_VIDEO_FORMAT_Y444_10LE:
if (nplanes)
*nplanes = 3;
return X264_CSP_I444 | X264_CSP_HIGH_DEPTH;
- break;
case GST_VIDEO_FORMAT_NV12:
if (nplanes)
*nplanes = 2;
return X264_CSP_NV12;
- break;
default:
- g_assert_not_reached ();
- return GST_VIDEO_FORMAT_UNKNOWN;
- break;
+ g_return_val_if_reached (GST_VIDEO_FORMAT_UNKNOWN);
}
}
@@ -1552,6 +1543,10 @@ gst_x264_enc_set_profile_and_level (GstX264Enc * encoder, GstCaps * caps)
profile = gst_structure_get_string (s, "profile");
allowed_caps = gst_pad_get_allowed_caps (GST_VIDEO_ENCODER_SRC_PAD (encoder));
+
+ if (allowed_caps == NULL)
+ goto no_peer;
+
if (!gst_caps_can_intersect (allowed_caps, caps)) {
allowed_caps = gst_caps_make_writable (allowed_caps);
allowed_caps = gst_caps_truncate (allowed_caps);
@@ -1581,6 +1576,8 @@ gst_x264_enc_set_profile_and_level (GstX264Enc * encoder, GstCaps * caps)
}
gst_caps_unref (allowed_caps);
+no_peer:
+
return TRUE;
}
@@ -1941,7 +1938,7 @@ gst_x264_enc_handle_frame (GstVideoEncoder * video_enc,
x264_picture_t pic_in;
gint i_nal, i;
FrameData *fdata;
- gint nplanes;
+ gint nplanes = 0;
if (G_UNLIKELY (encoder->x264enc == NULL))
goto not_inited;