[MOVED FROM BAD 081/134] vp8enc: generate a timestamp for alt-ref frames.

It will fix handling of altref/invisible frames since matroska-mux
drop any fram with no timestamp.

see also:
http://www.webmproject.org/code/specs/container/
The encoder will currently set the AR's timestamp as close as possible
to the previous frame while attempting to provide a timestamp that is
strictly increasing. In cases where the time base given to the encoder
at configure time is not granular enough to allow for this the AR
will share the same timestamp as D, but should be
treated as having no duration.

Fixes bug 

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
This commit is contained in:
Alexey Fisher 2011-06-26 15:15:54 +02:00 committed by Sebastian Dröge
parent 293d378289
commit 2d8a989c95

View file

@ -939,6 +939,8 @@ gst_vp8_enc_shape_output (GstBaseVideoEncoder * base_video_encoder,
encoder->keyframe_distance++; encoder->keyframe_distance++;
} }
GST_BUFFER_TIMESTAMP (buf) = GST_BUFFER_TIMESTAMP (frame->src_buffer);
GST_BUFFER_DURATION (buf) = 0;
GST_BUFFER_OFFSET_END (buf) = GST_BUFFER_OFFSET_END (buf) =
_to_granulepos (frame->presentation_frame_number + 1, _to_granulepos (frame->presentation_frame_number + 1,
inv_count, encoder->keyframe_distance); inv_count, encoder->keyframe_distance);