Merge remote-tracking branch 'origin/0.10'

This commit is contained in:
Sebastian Dröge 2012-06-15 12:28:54 +02:00
commit 85f0dcb1e8
2 changed files with 13 additions and 5 deletions

View file

@ -1089,7 +1089,8 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
else
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
gst_ffmpegviddec_negotiate (ffmpegdec, TRUE);
if (!gst_ffmpegviddec_negotiate (ffmpegdec, TRUE))
goto negotiation_error;
}
if (G_UNLIKELY (out_frame->output_buffer == NULL))
@ -1110,7 +1111,8 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
else
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
gst_ffmpegviddec_negotiate (ffmpegdec, TRUE);
if (!gst_ffmpegviddec_negotiate (ffmpegdec, TRUE))
goto negotiation_error;
}
/* check if we are dealing with a keyframe here, this will also check if we
@ -1163,6 +1165,13 @@ no_output:
len = -1;
goto beach;
}
negotiation_error:
{
GST_WARNING_OBJECT (ffmpegdec, "Error negotiating format");
*ret = GST_FLOW_NOT_NEGOTIATED;
goto beach;
}
}

View file

@ -85,8 +85,7 @@ gst_ffmpegvidenc_me_method_get_type (void)
};
if (!ffmpegenc_me_method_type) {
ffmpegenc_me_method_type =
g_enum_register_static ("GstFFMpegVidEncMeMethod",
ffmpegenc_me_methods);
g_enum_register_static ("GstLibAVVidEncMeMethod", ffmpegenc_me_methods);
}
return ffmpegenc_me_method_type;
}
@ -679,7 +678,7 @@ gst_ffmpegvidenc_handle_frame (GstVideoEncoder * encoder,
if (c < GST_VIDEO_INFO_N_COMPONENTS (info)) {
ffmpegenc->picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&vframe, c);
ffmpegenc->picture->linesize[c] =
GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, c);
GST_VIDEO_FRAME_COMP_STRIDE (&vframe, c);
} else {
ffmpegenc->picture->data[c] = NULL;
ffmpegenc->picture->linesize[c] = 0;