mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 15:27:07 +00:00
Merge remote-tracking branch 'origin/0.10'
This commit is contained in:
commit
85f0dcb1e8
2 changed files with 13 additions and 5 deletions
|
@ -1089,7 +1089,8 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
|
||||||
else
|
else
|
||||||
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
|
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
|
||||||
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
|
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))
|
if (G_UNLIKELY (out_frame->output_buffer == NULL))
|
||||||
|
@ -1110,7 +1111,8 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
|
||||||
else
|
else
|
||||||
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
|
GST_VIDEO_INFO_INTERLACE_MODE (&ffmpegdec->input_state->info) =
|
||||||
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
|
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
|
/* check if we are dealing with a keyframe here, this will also check if we
|
||||||
|
@ -1163,6 +1165,13 @@ no_output:
|
||||||
len = -1;
|
len = -1;
|
||||||
goto beach;
|
goto beach;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
negotiation_error:
|
||||||
|
{
|
||||||
|
GST_WARNING_OBJECT (ffmpegdec, "Error negotiating format");
|
||||||
|
*ret = GST_FLOW_NOT_NEGOTIATED;
|
||||||
|
goto beach;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -85,8 +85,7 @@ gst_ffmpegvidenc_me_method_get_type (void)
|
||||||
};
|
};
|
||||||
if (!ffmpegenc_me_method_type) {
|
if (!ffmpegenc_me_method_type) {
|
||||||
ffmpegenc_me_method_type =
|
ffmpegenc_me_method_type =
|
||||||
g_enum_register_static ("GstFFMpegVidEncMeMethod",
|
g_enum_register_static ("GstLibAVVidEncMeMethod", ffmpegenc_me_methods);
|
||||||
ffmpegenc_me_methods);
|
|
||||||
}
|
}
|
||||||
return ffmpegenc_me_method_type;
|
return ffmpegenc_me_method_type;
|
||||||
}
|
}
|
||||||
|
@ -679,7 +678,7 @@ gst_ffmpegvidenc_handle_frame (GstVideoEncoder * encoder,
|
||||||
if (c < GST_VIDEO_INFO_N_COMPONENTS (info)) {
|
if (c < GST_VIDEO_INFO_N_COMPONENTS (info)) {
|
||||||
ffmpegenc->picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&vframe, c);
|
ffmpegenc->picture->data[c] = GST_VIDEO_FRAME_PLANE_DATA (&vframe, c);
|
||||||
ffmpegenc->picture->linesize[c] =
|
ffmpegenc->picture->linesize[c] =
|
||||||
GST_VIDEO_FRAME_PLANE_STRIDE (&vframe, c);
|
GST_VIDEO_FRAME_COMP_STRIDE (&vframe, c);
|
||||||
} else {
|
} else {
|
||||||
ffmpegenc->picture->data[c] = NULL;
|
ffmpegenc->picture->data[c] = NULL;
|
||||||
ffmpegenc->picture->linesize[c] = 0;
|
ffmpegenc->picture->linesize[c] = 0;
|
||||||
|
|
Loading…
Reference in a new issue