frame->id = id;
frame->flags = 0;
- if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_INTERLACED))
- frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF))
- frame->flags |= GST_VIDEO_FRAME_FLAG_TFF;
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_RFF))
- frame->flags |= GST_VIDEO_FRAME_FLAG_RFF;
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_ONEFIELD))
- frame->flags |= GST_VIDEO_FRAME_FLAG_ONEFIELD;
- }
-
if (!gst_buffer_map (buffer, &frame->map[0], flags))
goto map_failed;
frame->buffer = gst_buffer_ref (buffer);
frame->meta = meta;
+ /* buffer flags enhance the frame flags */
+ if (GST_VIDEO_INFO_IS_INTERLACED (info)) {
+ if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_INTERLACED))
+ frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
+ if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF))
+ frame->flags |= GST_VIDEO_FRAME_FLAG_TFF;
+ if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_RFF))
+ frame->flags |= GST_VIDEO_FRAME_FLAG_RFF;
+ if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_ONEFIELD))
+ frame->flags |= GST_VIDEO_FRAME_FLAG_ONEFIELD;
+ }
return TRUE;
/* ERRORS */