Chromium Code Reviews| Index: services/media/framework_ffmpeg/ffmpeg_video_decoder.h |
| diff --git a/services/media/framework_ffmpeg/ffmpeg_video_decoder.h b/services/media/framework_ffmpeg/ffmpeg_video_decoder.h |
| index dc853920d5c1808cdf79a596980ad85bdae98367..3ececa43713ed3c32fd9b273f127fe931818b87b 100644 |
| --- a/services/media/framework_ffmpeg/ffmpeg_video_decoder.h |
| +++ b/services/media/framework_ffmpeg/ffmpeg_video_decoder.h |
| @@ -20,6 +20,8 @@ class FfmpegVideoDecoder : public FfmpegDecoderBase { |
| protected: |
| // FfmpegDecoderBase overrides. |
| + void Flush() override; |
| + |
| int Decode(const AVPacket& av_packet, |
| const ffmpeg::AvFramePtr& av_frame_ptr, |
| PayloadAllocator* allocator, |
| @@ -31,6 +33,8 @@ class FfmpegVideoDecoder : public FfmpegDecoderBase { |
| PacketPtr CreateOutputEndOfStreamPacket() override; |
| private: |
| + using Extent = VideoStreamType::Extent; |
| + |
| // Callback used by the ffmpeg decoder to acquire a buffer. |
| static int AllocateBufferForAvFrame(AVCodecContext* av_codec_context, |
| AVFrame* av_frame, |
| @@ -39,13 +43,18 @@ class FfmpegVideoDecoder : public FfmpegDecoderBase { |
| // Callback used by the ffmpeg decoder to release a buffer. |
| static void ReleaseBufferForAvFrame(void* opaque, uint8_t* buffer); |
| - // AllocateBufferForAvFrame deposits the packet size here, because there's |
| - // no good evidence of it after avcodec_decode_audio4 completes. |
| - uint64_t packet_size_; |
| + // The allocator used by avcodec_decode_audio4 to provide context for |
| + // AllocateBufferForAvFrame. This is set only during the call to |
| + // avcodec_decode_audio4. |
| + PayloadAllocator* allocator_; |
|
kulakowski
2016/04/27 02:16:30
Are PayloadAllocators some global-ish things? Or o
dalesat
2016/04/27 15:40:14
PayloadAllocator implementations come in two forms
|
| + |
| + // Used to supply PTS for end-of-stream. |
| + int64_t next_pts_ = Packet::kUnknownPts; |
| - // This is used to verify that an allocated buffer is being used as expected |
| - // by ffmpeg avcodec_decode_audio4. AllocateBufferForAvFrame sets it. |
| - // void* packet_buffer_; |
| + // TODO(dalesat): For investigation purposes only...remove one day. |
|
kulakowski
2016/04/27 02:16:30
Does this mean all three of the following members?
dalesat
2016/04/27 15:40:14
Yes. Changed the comment.
|
| + bool first_frame_ = true; |
| + AVColorSpace colorspace_; |
| + Extent coded_size_; |
| }; |
| } // namespace media |