Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(860)

Unified Diff: media/filters/chunk_demuxer.cc

Issue 8341033: Remove DemuxerStream::GetAVStream() once and for all. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: now with cmath Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/ffmpeg/ffmpeg_common.cc ('k') | media/filters/dummy_demuxer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/chunk_demuxer.cc
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc
index b75a71a601ef1ceb58bca917bf2934f366b511a8..383b9e372df85ce872e5f9e33a9131b308a8c07e 100644
--- a/media/filters/chunk_demuxer.cc
+++ b/media/filters/chunk_demuxer.cc
@@ -29,8 +29,8 @@ namespace media {
// we are making the INFO & TRACKS data look like a small WebM
// file so we can use FFmpeg to initialize the AVFormatContext.
//
-// TODO(acolwell): Remove this once GetAVStream() has been removed from
-// the DemuxerStream interface.
+// TODO(acolwell): Remove this when we construct AudioDecoderConfig and
+// VideoDecoderConfig without requiring an AVStream object.
static const uint8 kWebMHeader[] = {
0x1A, 0x45, 0xDF, 0xA3, 0x9F, // EBML (size = 0x1f)
0x42, 0x86, 0x81, 0x01, // EBMLVersion = 1
@@ -79,13 +79,14 @@ class ChunkDemuxerStream : public DemuxerStream {
virtual void Read(const ReadCallback& read_callback);
virtual Type type();
virtual void EnableBitstreamConverter();
- virtual AVStream* GetAVStream();
virtual const AudioDecoderConfig& audio_decoder_config();
+ virtual const VideoDecoderConfig& video_decoder_config();
private:
Type type_;
AVStream* av_stream_;
AudioDecoderConfig audio_config_;
+ VideoDecoderConfig video_config_;
mutable base::Lock lock_;
ReadCBQueue read_cbs_;
@@ -109,6 +110,8 @@ ChunkDemuxerStream::ChunkDemuxerStream(Type type, AVStream* stream)
last_buffer_timestamp_(kNoTimestamp) {
if (type_ == AUDIO) {
AVCodecContextToAudioDecoderConfig(stream->codec, &audio_config_);
+ } else if (type_ == VIDEO) {
+ AVStreamToVideoDecoderConfig(stream, &video_config_);
}
}
@@ -271,13 +274,16 @@ DemuxerStream::Type ChunkDemuxerStream::type() { return type_; }
void ChunkDemuxerStream::EnableBitstreamConverter() {}
-AVStream* ChunkDemuxerStream::GetAVStream() { return av_stream_; }
-
const AudioDecoderConfig& ChunkDemuxerStream::audio_decoder_config() {
CHECK_EQ(type_, AUDIO);
return audio_config_;
}
+const VideoDecoderConfig& ChunkDemuxerStream::video_decoder_config() {
+ CHECK_EQ(type_, VIDEO);
+ return video_config_;
+}
+
ChunkDemuxer::ChunkDemuxer(ChunkDemuxerClient* client)
: state_(WAITING_FOR_INIT),
client_(client),
« no previous file with comments | « media/ffmpeg/ffmpeg_common.cc ('k') | media/filters/dummy_demuxer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698