theoradec: Add crop metadata before mapping the buffer content

Otherwise the buffer is not writable and the crop metadata can't be added.
This commit is contained in:
Sebastian Dröge 2012-03-30 13:52:56 +02:00
parent a103fa85a9
commit 27408ee47f

View file

@ -1132,10 +1132,6 @@ theora_handle_image (GstTheoraDec * dec, th_ycbcr_buffer buf, GstBuffer ** out)
if (G_UNLIKELY (result != GST_FLOW_OK))
goto no_buffer;
if G_UNLIKELY
(!gst_video_frame_map (&frame, &dec->vinfo, *out, GST_MAP_WRITE))
goto invalid_frame;
if (!dec->has_cropping) {
/* we need to crop the hard way */
offset_x = dec->info.pic_x;
@ -1171,6 +1167,10 @@ theora_handle_image (GstTheoraDec * dec, th_ycbcr_buffer buf, GstBuffer ** out)
GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, dec,
"doing unavoidable video frame copy");
if G_UNLIKELY
(!gst_video_frame_map (&frame, &dec->vinfo, *out, GST_MAP_WRITE))
goto invalid_frame;
for (comp = 0; comp < 3; comp++) {
width =
GST_VIDEO_FORMAT_INFO_SCALE_WIDTH (frame.info.finfo, comp, pic_width);