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

Unified Diff: media/filters/chunk_demuxer.cc

Issue 10269022: Add StreamParserBuffer to ChunkDemuxer (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase ToT Created 8 years, 8 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/base/stream_parser_buffer.cc ('k') | media/media.gyp » ('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 35d88e2482954be1ceec74ed497259945a57c5c4..b3bdb81df66a78a2f579a0a6f168d6452f1bc7e2 100644
--- a/media/filters/chunk_demuxer.cc
+++ b/media/filters/chunk_demuxer.cc
@@ -8,7 +8,7 @@
#include "base/logging.h"
#include "base/message_loop.h"
#include "media/base/audio_decoder_config.h"
-#include "media/base/data_buffer.h"
+#include "media/base/stream_parser_buffer.h"
#include "media/base/video_decoder_config.h"
#include "media/filters/chunk_demuxer_client.h"
#include "media/webm/webm_stream_parser.h"
@@ -18,14 +18,9 @@ namespace media {
// TODO(acolwell): Remove this when fixing http://crbug.com/122909 .
const char* kDefaultSourceType = "video/webm; codecs=\"vp8, vorbis\"";
-// Create an "end of stream" buffer.
-static Buffer* CreateEOSBuffer() {
- return new DataBuffer(0);
-}
-
class ChunkDemuxerStream : public DemuxerStream {
public:
- typedef std::deque<scoped_refptr<Buffer> > BufferQueue;
+ typedef std::deque<scoped_refptr<StreamParserBuffer> > BufferQueue;
typedef std::deque<ReadCB> ReadCBQueue;
typedef std::deque<base::Closure> ClosureQueue;
@@ -205,7 +200,7 @@ void ChunkDemuxerStream::Shutdown() {
// Pass end of stream buffers to all callbacks to signal that no more data
// will be sent.
for (ReadCBQueue::iterator it = read_cbs.begin(); it != read_cbs.end(); ++it)
- it->Run(CreateEOSBuffer());
+ it->Run(StreamParserBuffer::CreateEOSBuffer());
}
bool ChunkDemuxerStream::GetLastBufferTimestamp(
@@ -264,7 +259,7 @@ void ChunkDemuxerStream::Read(const ReadCB& read_cb) {
if (buffers_.empty()) {
ChangeState_Locked(RETURNING_EOS_FOR_READS);
- buffer = CreateEOSBuffer();
+ buffer = StreamParserBuffer::CreateEOSBuffer();
} else {
buffer = buffers_.front();
buffers_.pop_front();
@@ -275,7 +270,7 @@ void ChunkDemuxerStream::Read(const ReadCB& read_cb) {
case SHUTDOWN:
DCHECK(buffers_.empty());
DCHECK(read_cbs_.empty());
- buffer = CreateEOSBuffer();
+ buffer = StreamParserBuffer::CreateEOSBuffer();
}
}
@@ -325,7 +320,8 @@ void ChunkDemuxerStream::CreateReadDoneClosures_Locked(ClosureQueue* closures) {
return;
// Push enough EOS buffers to satisfy outstanding Read() requests.
- scoped_refptr<Buffer> end_of_stream_buffer = CreateEOSBuffer();
+ scoped_refptr<Buffer> end_of_stream_buffer =
+ StreamParserBuffer::CreateEOSBuffer();
while (!read_cbs_.empty()) {
closures->push_back(base::Bind(read_cbs_.front(), end_of_stream_buffer));
read_cbs_.pop_front();
@@ -591,7 +587,7 @@ void ChunkDemuxer::EndOfStream(PipelineStatus status) {
// Create an end of stream buffer.
ChunkDemuxerStream::BufferQueue buffers;
- buffers.push_back(CreateEOSBuffer());
+ buffers.push_back(StreamParserBuffer::CreateEOSBuffer());
if (audio_.get())
audio_->AddBuffers(buffers);
« no previous file with comments | « media/base/stream_parser_buffer.cc ('k') | media/media.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698