if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_INTERLACED)) {
frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
}
- } else
+ } else {
frame->flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
+ }
- if (GST_BUFFER_FLAG_IS_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF))
+ if (GST_VIDEO_INFO_FIELD_ORDER (info) ==
+ GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST) {
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;
+ } else {
+ 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;