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

Unified Diff: media/formats/mp2t/mp2t_stream_parser.cc

Issue 539343002: Make the timestamp unroll offset consistent accross PES pids. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix CR comments from patch set #8. Created 6 years, 3 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
« no previous file with comments | « media/formats/mp2t/mp2t_stream_parser.h ('k') | media/formats/mp2t/timestamp_unroller.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/formats/mp2t/mp2t_stream_parser.cc
diff --git a/media/formats/mp2t/mp2t_stream_parser.cc b/media/formats/mp2t/mp2t_stream_parser.cc
index 673f78742d35a3d7b342059356ae63c381424e7e..a386f33c26f6c16b1f0548b5478b8357b3ab747d 100644
--- a/media/formats/mp2t/mp2t_stream_parser.cc
+++ b/media/formats/mp2t/mp2t_stream_parser.cc
@@ -218,6 +218,9 @@ void Mp2tStreamParser::Flush() {
// Reset the selected PIDs.
selected_audio_pid_ = -1;
selected_video_pid_ = -1;
+
+ // Reset the timestamp unroller.
+ timestamp_unroller_.Reset();
}
bool Mp2tStreamParser::Parse(const uint8* buf, int size) {
@@ -368,7 +371,7 @@ void Mp2tStreamParser::RegisterPes(int pmt_pid,
// Create the PES state here.
DVLOG(1) << "Create a new PES state";
scoped_ptr<TsSection> pes_section_parser(
- new TsSectionPes(es_parser.Pass()));
+ new TsSectionPes(es_parser.Pass(), &timestamp_unroller_));
PidState::PidType pid_type =
is_audio ? PidState::kPidAudioPes : PidState::kPidVideoPes;
scoped_ptr<PidState> pes_pid_state(
@@ -531,10 +534,6 @@ void Mp2tStreamParser::OnEmitAudioBuffer(
<< stream_parser_buffer->timestamp().InMilliseconds()
<< " dur="
<< stream_parser_buffer->duration().InMilliseconds();
- stream_parser_buffer->set_timestamp(
- stream_parser_buffer->timestamp() - time_offset_);
- stream_parser_buffer->SetDecodeTimestamp(
- stream_parser_buffer->GetDecodeTimestamp() - time_offset_);
// Ignore the incoming buffer if it is not associated with any config.
if (buffer_queue_chain_.empty()) {
@@ -562,10 +561,6 @@ void Mp2tStreamParser::OnEmitVideoBuffer(
<< stream_parser_buffer->duration().InMilliseconds()
<< " IsKeyframe="
<< stream_parser_buffer->IsKeyframe();
- stream_parser_buffer->set_timestamp(
- stream_parser_buffer->timestamp() - time_offset_);
- stream_parser_buffer->SetDecodeTimestamp(
- stream_parser_buffer->GetDecodeTimestamp() - time_offset_);
// Ignore the incoming buffer if it is not associated with any config.
if (buffer_queue_chain_.empty()) {
« no previous file with comments | « media/formats/mp2t/mp2t_stream_parser.h ('k') | media/formats/mp2t/timestamp_unroller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698