Commit 5622c99c authored by rileya@chromium.org's avatar rileya@chromium.org

Minor cleanup of DecoderStreamTraits.

Review URL: https://codereview.chromium.org/491733002

Cr-Commit-Position: refs/heads/master@{#291238}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@291238 0039d316-1c4b-4281-b951-d872f2087c98
parent c8f326a8
......@@ -227,16 +227,17 @@ void DecoderStream<StreamType>::OnDecoderSelected(
if (!selected_decoder) {
state_ = STATE_UNINITIALIZED;
StreamTraits::FinishInitialization(
base::ResetAndReturn(&init_cb_), selected_decoder.get(), stream_);
base::ResetAndReturn(&init_cb_).Run(false);
return;
}
state_ = STATE_NORMAL;
decoder_ = selected_decoder.Pass();
decrypting_demuxer_stream_ = decrypting_demuxer_stream.Pass();
StreamTraits::FinishInitialization(
base::ResetAndReturn(&init_cb_), decoder_.get(), stream_);
if (StreamTraits::NeedsBitstreamConversion(decoder_.get()))
stream_->EnableBitstreamConverter();
base::ResetAndReturn(&init_cb_).Run(true);
}
template <DemuxerStream::Type StreamType>
......
......@@ -192,10 +192,6 @@ class MEDIA_EXPORT DecoderStream {
// NOTE: Weak pointers must be invalidated before all other member variables.
base::WeakPtrFactory<DecoderStream<StreamType> > weak_factory_;
// This is required so the VideoFrameStream can access private members in
// FinishInitialization() and ReportStatistics().
DISALLOW_IMPLICIT_CONSTRUCTORS(DecoderStream);
};
template <>
......
......@@ -27,19 +27,6 @@ void DecoderStreamTraits<DemuxerStream::AUDIO>::Initialize(
decoder->Initialize(config, status_cb, output_cb);
}
bool DecoderStreamTraits<DemuxerStream::AUDIO>::FinishInitialization(
const StreamInitCB& init_cb,
DecoderType* decoder,
DemuxerStream* stream) {
DCHECK(stream);
if (!decoder) {
init_cb.Run(false);
return false;
}
init_cb.Run(true);
return true;
}
void DecoderStreamTraits<DemuxerStream::AUDIO>::ReportStatistics(
const StatisticsCB& statistics_cb,
int bytes_decoded) {
......@@ -72,19 +59,9 @@ void DecoderStreamTraits<DemuxerStream::VIDEO>::Initialize(
decoder->Initialize(config, low_delay, status_cb, output_cb);
}
bool DecoderStreamTraits<DemuxerStream::VIDEO>::FinishInitialization(
const StreamInitCB& init_cb,
DecoderType* decoder,
DemuxerStream* stream) {
DCHECK(stream);
if (!decoder) {
init_cb.Run(false);
return false;
}
if (decoder->NeedsBitstreamConversion())
stream->EnableBitstreamConverter();
init_cb.Run(true);
return true;
bool DecoderStreamTraits<DemuxerStream::VIDEO>::NeedsBitstreamConversion(
DecoderType* decoder) {
return decoder->NeedsBitstreamConversion();
}
void DecoderStreamTraits<DemuxerStream::VIDEO>::ReportStatistics(
......
......@@ -36,9 +36,7 @@ struct DecoderStreamTraits<DemuxerStream::AUDIO> {
bool low_delay,
const PipelineStatusCB& status_cb,
const OutputCB& output_cb);
static bool FinishInitialization(const StreamInitCB& init_cb,
DecoderType* decoder,
DemuxerStream* stream);
static bool NeedsBitstreamConversion(DecoderType* decoder) { return false; }
static void ReportStatistics(const StatisticsCB& statistics_cb,
int bytes_decoded);
static DecoderConfigType GetDecoderConfig(DemuxerStream& stream);
......@@ -60,9 +58,7 @@ struct DecoderStreamTraits<DemuxerStream::VIDEO> {
bool low_delay,
const PipelineStatusCB& status_cb,
const OutputCB& output_cb);
static bool FinishInitialization(const StreamInitCB& init_cb,
DecoderType* decoder,
DemuxerStream* stream);
static bool NeedsBitstreamConversion(DecoderType* decoder);
static void ReportStatistics(const StatisticsCB& statistics_cb,
int bytes_decoded);
static DecoderConfigType GetDecoderConfig(DemuxerStream& stream);
......
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