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

Unified Diff: media/filters/ffmpeg_demuxer.cc

Issue 2158923004: Convert media constants to constexpr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
Index: media/filters/ffmpeg_demuxer.cc
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index 76411cf0a6f8790555fb7b39c3b99846b5ce8c6f..153157b7e379962ada266c9e7de0b99b5eed34ff 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -69,10 +69,10 @@ static base::TimeDelta FramesToTimeDelta(int frames, double sample_rate) {
static base::TimeDelta ExtractStartTime(AVStream* stream,
base::TimeDelta start_time_estimate) {
- DCHECK(start_time_estimate != kNoTimestamp());
+ DCHECK(start_time_estimate != kNoTimestamp);
if (stream->start_time == static_cast<int64_t>(AV_NOPTS_VALUE)) {
- return start_time_estimate == kInfiniteDuration() ? kNoTimestamp()
- : start_time_estimate;
+ return start_time_estimate == kInfiniteDuration ? kNoTimestamp
+ : start_time_estimate;
}
// First try the lower of the estimate and the |start_time| value.
@@ -194,9 +194,9 @@ static const char* GetCodecName(const AVCodecContext* context) {
static void SetTimeProperty(MediaLogEvent* event,
const std::string& key,
base::TimeDelta value) {
- if (value == kInfiniteDuration())
+ if (value == kInfiniteDuration)
event->params.SetString(key, "kInfiniteDuration");
- else if (value == kNoTimestamp())
+ else if (value == kNoTimestamp)
event->params.SetString(key, "kNoTimestamp");
else
event->params.SetDouble(key, value.InSecondsF());
@@ -269,8 +269,8 @@ FFmpegDemuxerStream::FFmpegDemuxerStream(
type_(UNKNOWN),
liveness_(LIVENESS_UNKNOWN),
end_of_stream_(false),
- last_packet_timestamp_(kNoTimestamp()),
- last_packet_duration_(kNoTimestamp()),
+ last_packet_timestamp_(kNoTimestamp),
+ last_packet_duration_(kNoTimestamp),
video_rotation_(VIDEO_ROTATION_0),
is_enabled_(true),
waiting_for_keyframe_(false),
@@ -440,7 +440,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
// allow front discard padding on the first buffer. Otherwise the discard
// helper can't figure out which data to discard. See AudioDiscardHelper.
int discard_front_samples = base::ByteSwapToLE32(*skip_samples_ptr);
- if (last_packet_timestamp_ != kNoTimestamp() && discard_front_samples) {
+ if (last_packet_timestamp_ != kNoTimestamp && discard_front_samples) {
DLOG(ERROR) << "Skip samples are only allowed for the first packet.";
discard_front_samples = 0;
}
@@ -466,14 +466,14 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
// https://crbug.com/394418
DVLOG(1) << "FFmpeg returned a buffer with a negative duration! "
<< packet->duration;
- buffer->set_duration(kNoTimestamp());
+ buffer->set_duration(kNoTimestamp);
}
- // Note: If pts is AV_NOPTS_VALUE, stream_timestamp will be kNoTimestamp().
+ // Note: If pts is AV_NOPTS_VALUE, stream_timestamp will be kNoTimestamp.
const base::TimeDelta stream_timestamp =
ConvertStreamTimestamp(stream_->time_base, packet->pts);
- if (stream_timestamp != kNoTimestamp()) {
+ if (stream_timestamp != kNoTimestamp) {
const bool is_audio = type() == AUDIO;
// If this file has negative timestamps don't rebase any other stream types
@@ -496,7 +496,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
// negative timestamps for post-decode discard.
if (fixup_negative_timestamps_ && is_audio &&
stream_timestamp < base::TimeDelta() &&
- buffer->duration() != kNoTimestamp()) {
+ buffer->duration() != kNoTimestamp) {
if (!stream_->codec->delay) {
DCHECK_EQ(buffer->discard_padding().first, base::TimeDelta());
@@ -505,7 +505,7 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
// Discard the entire packet if it's entirely before zero.
buffer->set_discard_padding(
- std::make_pair(kInfiniteDuration(), base::TimeDelta()));
+ std::make_pair(kInfiniteDuration, base::TimeDelta()));
} else {
// Only discard part of the frame if it overlaps zero.
buffer->set_discard_padding(std::make_pair(
@@ -525,10 +525,10 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
}
} else {
// If this happens on the first packet, decoders will throw an error.
- buffer->set_timestamp(kNoTimestamp());
+ buffer->set_timestamp(kNoTimestamp);
}
- if (last_packet_timestamp_ != kNoTimestamp()) {
+ if (last_packet_timestamp_ != kNoTimestamp) {
// FFmpeg doesn't support chained ogg correctly. Instead of guaranteeing
// continuity across links in the chain it uses the timestamp information
// from each link directly. Doing so can lead to timestamps which appear to
@@ -536,24 +536,24 @@ void FFmpegDemuxerStream::EnqueuePacket(ScopedAVPacket packet) {
//
// If the new link starts with a negative timestamp or a timestamp less than
// the original (positive) |start_time|, we will get a negative timestamp
- // here. It's also possible FFmpeg returns kNoTimestamp() here if it's not
+ // here. It's also possible FFmpeg returns kNoTimestamp here if it's not
// able to work out a timestamp using the previous link and the next.
//
// Fixing chained ogg is non-trivial, so for now just reuse the last good
// timestamp. The decoder will rewrite the timestamps to be sample accurate
// later. See http://crbug.com/396864.
if (fixup_negative_timestamps_ &&
- (buffer->timestamp() == kNoTimestamp() ||
+ (buffer->timestamp() == kNoTimestamp ||
buffer->timestamp() < last_packet_timestamp_)) {
buffer->set_timestamp(last_packet_timestamp_ +
- (last_packet_duration_ != kNoTimestamp()
+ (last_packet_duration_ != kNoTimestamp
? last_packet_duration_
: base::TimeDelta::FromMicroseconds(1)));
}
// The demuxer should always output positive timestamps.
DCHECK(buffer->timestamp() >= base::TimeDelta());
- DCHECK(buffer->timestamp() != kNoTimestamp());
+ DCHECK(buffer->timestamp() != kNoTimestamp);
if (last_packet_timestamp_ < buffer->timestamp()) {
buffered_ranges_.Add(last_packet_timestamp_, buffer->timestamp());
@@ -588,8 +588,8 @@ void FFmpegDemuxerStream::FlushBuffers() {
buffer_queue_.Clear();
end_of_stream_ = false;
- last_packet_timestamp_ = kNoTimestamp();
- last_packet_duration_ = kNoTimestamp();
+ last_packet_timestamp_ = kNoTimestamp;
+ last_packet_duration_ = kNoTimestamp;
}
void FFmpegDemuxerStream::Stop() {
@@ -801,7 +801,7 @@ base::TimeDelta FFmpegDemuxerStream::ConvertStreamTimestamp(
const AVRational& time_base,
int64_t timestamp) {
if (timestamp == static_cast<int64_t>(AV_NOPTS_VALUE))
- return kNoTimestamp();
+ return kNoTimestamp;
return ConvertFromTimeBase(time_base, timestamp);
}
@@ -823,9 +823,9 @@ FFmpegDemuxer::FFmpegDemuxer(
data_source_(data_source),
media_log_(media_log),
bitrate_(0),
- start_time_(kNoTimestamp()),
- preferred_stream_for_seeking_(-1, kNoTimestamp()),
- fallback_stream_for_seeking_(-1, kNoTimestamp()),
+ start_time_(kNoTimestamp),
+ preferred_stream_for_seeking_(-1, kNoTimestamp),
+ fallback_stream_for_seeking_(-1, kNoTimestamp),
text_enabled_(false),
duration_known_(false),
encrypted_media_init_data_cb_(encrypted_media_init_data_cb),
@@ -950,7 +950,7 @@ void FFmpegDemuxer::Seek(base::TimeDelta time, const PipelineStatusCB& cb) {
// be demuxed. It's an open question whether FFmpeg should fix this:
// http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2014-June/159212.html
// Tracked by http://crbug.com/387996.
- DCHECK(preferred_stream_for_seeking_.second != kNoTimestamp());
+ DCHECK(preferred_stream_for_seeking_.second != kNoTimestamp);
const int stream_index =
seek_time < preferred_stream_for_seeking_.second &&
seek_time >= fallback_stream_for_seeking_.second
@@ -1078,8 +1078,7 @@ static int CalculateBitrate(AVFormatContext* format_context,
// See if we can approximate the bitrate as long as we have a filesize and
// valid duration.
- if (duration.InMicroseconds() <= 0 ||
- duration == kInfiniteDuration() ||
+ if (duration.InMicroseconds() <= 0 || duration == kInfiniteDuration ||
filesize_in_bytes == 0) {
return 0;
}
@@ -1148,9 +1147,9 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
// These packets haven't been completely processed yet, so only look through
// these values if the AVFormatContext has a valid start time.
//
- // If no estimate is found, the stream entry will be kInfiniteDuration().
+ // If no estimate is found, the stream entry will be kInfiniteDuration.
std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
- kInfiniteDuration());
+ kInfiniteDuration);
const AVFormatInternal* internal = format_context->internal;
if (internal && internal->packet_buffer &&
format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
@@ -1179,7 +1178,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
DCHECK(track_id_to_demux_stream_map_.empty());
// If available, |start_time_| will be set to the lowest stream start time.
- start_time_ = kInfiniteDuration();
+ start_time_ = kInfiniteDuration;
base::TimeDelta max_duration;
int detected_audio_track_count = 0;
@@ -1316,7 +1315,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
const base::TimeDelta start_time =
ExtractStartTime(stream, start_time_estimates[i]);
- const bool has_start_time = start_time != kNoTimestamp();
+ const bool has_start_time = start_time != kNoTimestamp;
// Always prefer the video stream for seeking. If none exists, we'll swap
// the fallback stream with the preferred stream below.
@@ -1360,7 +1359,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
ConvertFromTimeBase(av_time_base, format_context->duration));
} else {
// The duration is unknown, in which case this is likely a live stream.
- max_duration = kInfiniteDuration();
+ max_duration = kInfiniteDuration;
}
// FFmpeg represents audio data marked as before the beginning of stream as
@@ -1398,7 +1397,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
// If no start time could be determined, default to zero and prefer the video
// stream over the audio stream for seeking. E.g., The WAV demuxer does not
// put timestamps on its frames.
- if (start_time_ == kInfiniteDuration()) {
+ if (start_time_ == kInfiniteDuration) {
start_time_ = base::TimeDelta();
preferred_stream_for_seeking_ = StreamSeekInfo(
video_stream ? video_stream->index : audio_stream->index, start_time_);
@@ -1421,9 +1420,9 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
if (!timeline_offset_.is_null() && start_time_ < base::TimeDelta())
timeline_offset_ += start_time_;
- if (max_duration == kInfiniteDuration() && !timeline_offset_.is_null()) {
+ if (max_duration == kInfiniteDuration && !timeline_offset_.is_null()) {
SetLiveness(DemuxerStream::LIVENESS_LIVE);
- } else if (max_duration != kInfiniteDuration()) {
+ } else if (max_duration != kInfiniteDuration) {
SetLiveness(DemuxerStream::LIVENESS_RECORDED);
} else {
SetLiveness(DemuxerStream::LIVENESS_UNKNOWN);
@@ -1432,7 +1431,7 @@ void FFmpegDemuxer::OnFindStreamInfoDone(const PipelineStatusCB& status_cb,
// Good to go: set the duration and bitrate and notify we're done
// initializing.
host_->SetDuration(max_duration);
- duration_known_ = (max_duration != kInfiniteDuration());
+ duration_known_ = (max_duration != kInfiniteDuration);
int64_t filesize_in_bytes = 0;
url_protocol_->GetSize(&filesize_in_bytes);
@@ -1606,7 +1605,7 @@ void FFmpegDemuxer::OnReadFrameDone(ScopedAVPacket packet, int result) {
continue;
base::TimeDelta duration = (*iter)->GetElapsedTime();
- if (duration != kNoTimestamp() && duration > max_duration)
+ if (duration != kNoTimestamp && duration > max_duration)
max_duration = duration;
}

Powered by Google App Engine
This is Rietveld 408576698