diff options
Diffstat (limited to 'ext/x264/gstx264enc.c')
-rw-r--r-- | ext/x264/gstx264enc.c | 19 |
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; |