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

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

Issue 1032543004: FFmpeg roll for M43. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update DEPS to include fix for a compile time error in the previous push Created 5 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 unified diff | Download patch
« no previous file with comments | « media/ffmpeg/ffmpeg_common.h ('k') | no next file » | 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 <string> 8 #include <string>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 // Estimate the start time for each stream by looking through the packets 831 // Estimate the start time for each stream by looking through the packets
832 // buffered during avformat_find_stream_info(). These values will be 832 // buffered during avformat_find_stream_info(). These values will be
833 // considered later when determining the actual stream start time. 833 // considered later when determining the actual stream start time.
834 // 834 //
835 // These packets haven't been completely processed yet, so only look through 835 // These packets haven't been completely processed yet, so only look through
836 // these values if the AVFormatContext has a valid start time. 836 // these values if the AVFormatContext has a valid start time.
837 // 837 //
838 // If no estimate is found, the stream entry will be kInfiniteDuration(). 838 // If no estimate is found, the stream entry will be kInfiniteDuration().
839 std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams, 839 std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
840 kInfiniteDuration()); 840 kInfiniteDuration());
841 if (format_context->packet_buffer && 841 const AVFormatInternal* internal = format_context->internal;
842 if (internal && internal->packet_buffer &&
842 format_context->start_time != static_cast<int64>(AV_NOPTS_VALUE)) { 843 format_context->start_time != static_cast<int64>(AV_NOPTS_VALUE)) {
843 struct AVPacketList* packet_buffer = format_context->packet_buffer; 844 struct AVPacketList* packet_buffer = internal->packet_buffer;
844 while (packet_buffer != format_context->packet_buffer_end) { 845 while (packet_buffer != internal->packet_buffer_end) {
845 DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index), 846 DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
846 start_time_estimates.size()); 847 start_time_estimates.size());
847 const AVStream* stream = 848 const AVStream* stream =
848 format_context->streams[packet_buffer->pkt.stream_index]; 849 format_context->streams[packet_buffer->pkt.stream_index];
849 if (packet_buffer->pkt.pts != static_cast<int64>(AV_NOPTS_VALUE)) { 850 if (packet_buffer->pkt.pts != static_cast<int64>(AV_NOPTS_VALUE)) {
850 const base::TimeDelta packet_pts = 851 const base::TimeDelta packet_pts =
851 ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); 852 ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
852 if (packet_pts < start_time_estimates[stream->index]) 853 if (packet_pts < start_time_estimates[stream->index])
853 start_time_estimates[stream->index] = packet_pts; 854 start_time_estimates[stream->index] = packet_pts;
854 } 855 }
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 1294
1294 void FFmpegDemuxer::SetLiveness(DemuxerStream::Liveness liveness) { 1295 void FFmpegDemuxer::SetLiveness(DemuxerStream::Liveness liveness) {
1295 DCHECK(task_runner_->BelongsToCurrentThread()); 1296 DCHECK(task_runner_->BelongsToCurrentThread());
1296 for (const auto& stream : streams_) { // |stream| is a ref to a pointer. 1297 for (const auto& stream : streams_) { // |stream| is a ref to a pointer.
1297 if (stream) 1298 if (stream)
1298 stream->SetLiveness(liveness); 1299 stream->SetLiveness(liveness);
1299 } 1300 }
1300 } 1301 }
1301 1302
1302 } // namespace media 1303 } // namespace media
OLDNEW
« no previous file with comments | « media/ffmpeg/ffmpeg_common.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698