Chromium Code Reviews| Index: media/base/video_decoder.h |
| diff --git a/media/base/video_decoder.h b/media/base/video_decoder.h |
| index d7e7a791de3d168668476cbdbd73aae22dd90ef4..74adcda3c46571ab5e5a3b09392605ee474bb7da 100644 |
| --- a/media/base/video_decoder.h |
| +++ b/media/base/video_decoder.h |
| @@ -55,6 +55,11 @@ class MEDIA_EXPORT VideoDecoder { |
| // |status_cb| upon completion. |output_cb| is called for each output frame |
| // decoded by Decode(). |
| // |
| + // If |low_delay| is true then the decoder is not allowed to queue frames |
| + // internally, i.e. every frame must be returned as soon as it is decoded. |
| + // Currently this flag is necessary only for FFmpegDecoder. Other decoders |
| + // do not need to delay frames. |
|
xhwang
2015/01/16 23:50:09
I am still a bit concerned about this change in th
Sergey Ulanov
2015/01/20 23:52:26
There are two separate issues: frame reordering an
xhwang
2015/01/21 23:05:04
Thanks for the detailed clarification. I think my
|
| + // |
| // Note: |
| // 1) The VideoDecoder will be reinitialized if it was initialized before. |
| // Upon reinitialization, all internal buffered frames will be dropped. |
| @@ -78,8 +83,9 @@ class MEDIA_EXPORT VideoDecoder { |
| // called again). |
| // |
| // After decoding is finished the decoder calls |output_cb| specified in |
| - // Initialize() for each decoded frame. |output_cb| may be called before or |
| - // after |decode_cb|. |
| + // Initialize() for each decoded frame. In general |output_cb| may be called |
| + // before or after |decode_cb|, but software decoders in low-delay mode must |
| + // call |output_cb| for all frames in |buffer| before calling |decode_cb|. |
|
xhwang
2015/01/16 23:50:09
I think it makes sense to require |decode_cb| to b
Sergey Ulanov
2015/01/20 23:52:26
Reworded this comment.
|
| // |
| // If |buffer| is an EOS buffer then the decoder must be flushed, i.e. |
| // |output_cb| must be called for each frame pending in the queue and |