Commit 9a89826c authored by Jose Lopes's avatar Jose Lopes Committed by Commit Bot

media: Migrate CreateDemuxerStreamCB to repeating callback.

This is a repeating callback because it's called repeatedly from for
loops in:
* https://cs.chromium.org/chromium/src/media/filters/source_buffer_state.cc?rcl=e501b7156b763939111552df391c615761c3c1bf&l=649
* https://cs.chromium.org/chromium/src/media/filters/source_buffer_state.cc?rcl=e501b7156b763939111552df391c615761c3c1bf&l=705
* https://cs.chromium.org/chromium/src/media/filters/source_buffer_state.cc?rcl=e501b7156b763939111552df391c615761c3c1bf&l=764

This is part of the base::Callback migration.

Context: https://cs.chromium.org/chromium/src/docs/callback.md?rcl=9fcc3764aea8f97e9f6de4a9ee61d554e67edcda&l=40

Bug: 1007805
Change-Id: I81bb8448df6577e5f7d56f8027f38490b2594d94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2080479
Commit-Queue: Jose Lopes <jabolopes@google.com>
Reviewed-by: default avatardanakj <danakj@chromium.org>
Reviewed-by: default avatarXiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#746765}
parent f98c05d2
...@@ -655,8 +655,8 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id, ...@@ -655,8 +655,8 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id,
std::unique_ptr<SourceBufferState> source_state = std::unique_ptr<SourceBufferState> source_state =
std::make_unique<SourceBufferState>( std::make_unique<SourceBufferState>(
std::move(stream_parser), std::move(frame_processor), std::move(stream_parser), std::move(frame_processor),
base::Bind(&ChunkDemuxer::CreateDemuxerStream, base::Unretained(this), base::BindRepeating(&ChunkDemuxer::CreateDemuxerStream,
id), base::Unretained(this), id),
media_log_); media_log_);
SourceBufferState::NewTextTrackCB new_text_track_cb; SourceBufferState::NewTextTrackCB new_text_track_cb;
......
...@@ -129,13 +129,13 @@ Ranges<TimeDelta> SourceBufferState::ComputeRangesIntersection( ...@@ -129,13 +129,13 @@ Ranges<TimeDelta> SourceBufferState::ComputeRangesIntersection(
SourceBufferState::SourceBufferState( SourceBufferState::SourceBufferState(
std::unique_ptr<StreamParser> stream_parser, std::unique_ptr<StreamParser> stream_parser,
std::unique_ptr<FrameProcessor> frame_processor, std::unique_ptr<FrameProcessor> frame_processor,
const CreateDemuxerStreamCB& create_demuxer_stream_cb, CreateDemuxerStreamCB create_demuxer_stream_cb,
MediaLog* media_log) MediaLog* media_log)
: timestamp_offset_during_append_(NULL), : timestamp_offset_during_append_(nullptr),
parsing_media_segment_(false), parsing_media_segment_(false),
stream_parser_(stream_parser.release()), stream_parser_(stream_parser.release()),
frame_processor_(frame_processor.release()), frame_processor_(frame_processor.release()),
create_demuxer_stream_cb_(create_demuxer_stream_cb), create_demuxer_stream_cb_(std::move(create_demuxer_stream_cb)),
media_log_(media_log), media_log_(media_log),
state_(UNINITIALIZED) { state_(UNINITIALIZED) {
DCHECK(create_demuxer_stream_cb_); DCHECK(create_demuxer_stream_cb_);
...@@ -224,7 +224,7 @@ bool SourceBufferState::Append(const uint8_t* data, ...@@ -224,7 +224,7 @@ bool SourceBufferState::Append(const uint8_t* data,
<< " append_window_end=" << append_window_end.InSecondsF(); << " append_window_end=" << append_window_end.InSecondsF();
} }
timestamp_offset_during_append_ = NULL; timestamp_offset_during_append_ = nullptr;
append_in_progress_ = false; append_in_progress_ = false;
return result; return result;
} }
...@@ -239,7 +239,7 @@ void SourceBufferState::ResetParserState(TimeDelta append_window_start, ...@@ -239,7 +239,7 @@ void SourceBufferState::ResetParserState(TimeDelta append_window_start,
append_window_end_during_append_ = append_window_end; append_window_end_during_append_ = append_window_end;
stream_parser_->Flush(); stream_parser_->Flush();
timestamp_offset_during_append_ = NULL; timestamp_offset_during_append_ = nullptr;
frame_processor_->Reset(); frame_processor_->Reset();
parsing_media_segment_ = false; parsing_media_segment_ = false;
......
...@@ -31,15 +31,15 @@ class FrameProcessor; ...@@ -31,15 +31,15 @@ class FrameProcessor;
class MEDIA_EXPORT SourceBufferState { class MEDIA_EXPORT SourceBufferState {
public: public:
// Callback signature used to create ChunkDemuxerStreams. // Callback signature used to create ChunkDemuxerStreams.
typedef base::Callback<ChunkDemuxerStream*(DemuxerStream::Type)> using CreateDemuxerStreamCB =
CreateDemuxerStreamCB; base::RepeatingCallback<ChunkDemuxerStream*(DemuxerStream::Type)>;
typedef base::Callback<void(ChunkDemuxerStream*, const TextTrackConfig&)> typedef base::Callback<void(ChunkDemuxerStream*, const TextTrackConfig&)>
NewTextTrackCB; NewTextTrackCB;
SourceBufferState(std::unique_ptr<StreamParser> stream_parser, SourceBufferState(std::unique_ptr<StreamParser> stream_parser,
std::unique_ptr<FrameProcessor> frame_processor, std::unique_ptr<FrameProcessor> frame_processor,
const CreateDemuxerStreamCB& create_demuxer_stream_cb, CreateDemuxerStreamCB create_demuxer_stream_cb,
MediaLog* media_log); MediaLog* media_log);
~SourceBufferState(); ~SourceBufferState();
...@@ -239,7 +239,7 @@ class MEDIA_EXPORT SourceBufferState { ...@@ -239,7 +239,7 @@ class MEDIA_EXPORT SourceBufferState {
DemuxerStreamMap text_streams_; DemuxerStreamMap text_streams_;
std::unique_ptr<FrameProcessor> frame_processor_; std::unique_ptr<FrameProcessor> frame_processor_;
CreateDemuxerStreamCB create_demuxer_stream_cb_; const CreateDemuxerStreamCB create_demuxer_stream_cb_;
MediaLog* media_log_; MediaLog* media_log_;
StreamParser::InitCB init_cb_; StreamParser::InitCB init_cb_;
......
...@@ -68,8 +68,8 @@ class SourceBufferStateTest : public ::testing::Test { ...@@ -68,8 +68,8 @@ class SourceBufferStateTest : public ::testing::Test {
mock_stream_parser_ = new testing::StrictMock<MockStreamParser>(); mock_stream_parser_ = new testing::StrictMock<MockStreamParser>();
return base::WrapUnique(new SourceBufferState( return base::WrapUnique(new SourceBufferState(
base::WrapUnique(mock_stream_parser_), std::move(frame_processor), base::WrapUnique(mock_stream_parser_), std::move(frame_processor),
base::Bind(&SourceBufferStateTest::CreateDemuxerStream, base::BindRepeating(&SourceBufferStateTest::CreateDemuxerStream,
base::Unretained(this)), base::Unretained(this)),
&media_log_)); &media_log_));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment