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

Side by Side Diff: media/filters/ffmpeg_demuxer.cc

Issue 1544313002: Convert Pass()→std::move() in //media (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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 unified diff | Download patch
« no previous file with comments | « media/filters/decoder_stream.cc ('k') | media/filters/file_data_source.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/filters/ffmpeg_demuxer.h" 5 #include "media/filters/ffmpeg_demuxer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility>
8 9
9 #include "base/base64.h" 10 #include "base/base64.h"
10 #include "base/bind.h" 11 #include "base/bind.h"
11 #include "base/callback_helpers.h" 12 #include "base/callback_helpers.h"
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h" 14 #include "base/memory/scoped_ptr.h"
14 #include "base/metrics/histogram_macros.h" 15 #include "base/metrics/histogram_macros.h"
15 #include "base/metrics/sparse_histogram.h" 16 #include "base/metrics/sparse_histogram.h"
16 #include "base/single_thread_task_runner.h" 17 #include "base/single_thread_task_runner.h"
17 #include "base/strings/string_number_conversions.h" 18 #include "base/strings/string_number_conversions.h"
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 MEDIA_LOG(ERROR, media_log) 215 MEDIA_LOG(ERROR, media_log)
215 << "FFmpegDemuxer: failed creating video stream"; 216 << "FFmpegDemuxer: failed creating video stream";
216 return nullptr; 217 return nullptr;
217 } 218 }
218 219
219 MEDIA_LOG(INFO, media_log) << "FFmpegDemuxer: created video stream, config " 220 MEDIA_LOG(INFO, media_log) << "FFmpegDemuxer: created video stream, config "
220 << video_config->AsHumanReadableString(); 221 << video_config->AsHumanReadableString();
221 } 222 }
222 223
223 return make_scoped_ptr(new FFmpegDemuxerStream( 224 return make_scoped_ptr(new FFmpegDemuxerStream(
224 demuxer, stream, audio_config.Pass(), video_config.Pass())); 225 demuxer, stream, std::move(audio_config), std::move(video_config)));
225 } 226 }
226 227
227 // 228 //
228 // FFmpegDemuxerStream 229 // FFmpegDemuxerStream
229 // 230 //
230 FFmpegDemuxerStream::FFmpegDemuxerStream( 231 FFmpegDemuxerStream::FFmpegDemuxerStream(
231 FFmpegDemuxer* demuxer, 232 FFmpegDemuxer* demuxer,
232 AVStream* stream, 233 AVStream* stream,
233 scoped_ptr<AudioDecoderConfig> audio_config, 234 scoped_ptr<AudioDecoderConfig> audio_config,
234 scoped_ptr<VideoDecoderConfig> video_config) 235 scoped_ptr<VideoDecoderConfig> video_config)
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 const int discard_end_samples = 409 const int discard_end_samples =
409 base::ByteSwapToLE32(*(skip_samples_ptr + kSkipEndSamplesOffset)); 410 base::ByteSwapToLE32(*(skip_samples_ptr + kSkipEndSamplesOffset));
410 const int samples_per_second = 411 const int samples_per_second =
411 audio_decoder_config().samples_per_second(); 412 audio_decoder_config().samples_per_second();
412 buffer->set_discard_padding(std::make_pair( 413 buffer->set_discard_padding(std::make_pair(
413 FramesToTimeDelta(discard_front_samples, samples_per_second), 414 FramesToTimeDelta(discard_front_samples, samples_per_second),
414 FramesToTimeDelta(discard_end_samples, samples_per_second))); 415 FramesToTimeDelta(discard_end_samples, samples_per_second)));
415 } 416 }
416 417
417 if (decrypt_config) 418 if (decrypt_config)
418 buffer->set_decrypt_config(decrypt_config.Pass()); 419 buffer->set_decrypt_config(std::move(decrypt_config));
419 } 420 }
420 421
421 if (packet->duration >= 0) { 422 if (packet->duration >= 0) {
422 buffer->set_duration( 423 buffer->set_duration(
423 ConvertStreamTimestamp(stream_->time_base, packet->duration)); 424 ConvertStreamTimestamp(stream_->time_base, packet->duration));
424 } else { 425 } else {
425 // TODO(wolenetz): Remove when FFmpeg stops returning negative durations. 426 // TODO(wolenetz): Remove when FFmpeg stops returning negative durations.
426 // https://crbug.com/394418 427 // https://crbug.com/394418
427 DVLOG(1) << "FFmpeg returned a buffer with a negative duration! " 428 DVLOG(1) << "FFmpeg returned a buffer with a negative duration! "
428 << packet->duration; 429 << packet->duration;
(...skipping 1002 matching lines...) Expand 10 before | Expand all | Expand 10 after
1431 // 1432 //
1432 // https://code.google.com/p/chromium/issues/detail?id=169133#c10 1433 // https://code.google.com/p/chromium/issues/detail?id=169133#c10
1433 if (!packet->data) { 1434 if (!packet->data) {
1434 ScopedAVPacket new_packet(new AVPacket()); 1435 ScopedAVPacket new_packet(new AVPacket());
1435 av_new_packet(new_packet.get(), 0); 1436 av_new_packet(new_packet.get(), 0);
1436 av_packet_copy_props(new_packet.get(), packet.get()); 1437 av_packet_copy_props(new_packet.get(), packet.get());
1437 packet.swap(new_packet); 1438 packet.swap(new_packet);
1438 } 1439 }
1439 1440
1440 FFmpegDemuxerStream* demuxer_stream = streams_[packet->stream_index]; 1441 FFmpegDemuxerStream* demuxer_stream = streams_[packet->stream_index];
1441 demuxer_stream->EnqueuePacket(packet.Pass()); 1442 demuxer_stream->EnqueuePacket(std::move(packet));
1442 } 1443 }
1443 1444
1444 // Keep reading until we've reached capacity. 1445 // Keep reading until we've reached capacity.
1445 ReadFrameIfNeeded(); 1446 ReadFrameIfNeeded();
1446 } 1447 }
1447 1448
1448 bool FFmpegDemuxer::StreamsHaveAvailableCapacity() { 1449 bool FFmpegDemuxer::StreamsHaveAvailableCapacity() {
1449 DCHECK(task_runner_->BelongsToCurrentThread()); 1450 DCHECK(task_runner_->BelongsToCurrentThread());
1450 StreamVector::iterator iter; 1451 StreamVector::iterator iter;
1451 for (iter = streams_.begin(); iter != streams_.end(); ++iter) { 1452 for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1523 1524
1524 void FFmpegDemuxer::SetLiveness(DemuxerStream::Liveness liveness) { 1525 void FFmpegDemuxer::SetLiveness(DemuxerStream::Liveness liveness) {
1525 DCHECK(task_runner_->BelongsToCurrentThread()); 1526 DCHECK(task_runner_->BelongsToCurrentThread());
1526 for (const auto& stream : streams_) { // |stream| is a ref to a pointer. 1527 for (const auto& stream : streams_) { // |stream| is a ref to a pointer.
1527 if (stream) 1528 if (stream)
1528 stream->SetLiveness(liveness); 1529 stream->SetLiveness(liveness);
1529 } 1530 }
1530 } 1531 }
1531 1532
1532 } // namespace media 1533 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/decoder_stream.cc ('k') | media/filters/file_data_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698