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

Issue 364823008: Mpeg2TS - estimate duration for video frames. (Closed)

Created:
6 years, 5 months ago by damienv1
Modified:
6 years, 5 months ago
CC:
chromium-reviews, feature-media-reviews_chromium.org
Project:
chromium
Visibility:
Public.

Description

Mpeg2TS - estimate duration for video frames. The updated frame processor assumes each frame is assigned a positive duration. Update the Mpeg2 TS stream parser to provide estimated duration for video frames. BUG=None Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=282585

Patch Set 1 #

Patch Set 2 : #

Total comments: 5

Patch Set 3 : Delay frame buffer emission. #

Patch Set 4 : Move the ES adapter out of the H264 ES parser. #

Patch Set 5 : Remove uneeded code in Mp2tStreamParser. #

Patch Set 6 : Additional cleanup. #

Total comments: 14

Patch Set 7 : Address CR comments. #

Total comments: 18

Patch Set 8 : Address CR comments. #

Total comments: 14

Patch Set 9 : Add an video ES adapter unit test. #

Total comments: 10

Patch Set 10 : Clean the ES adapter unit test. #

Patch Set 11 : Fix MEDIA_EXPORT needed by the ES adapter unit test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+466 lines, -80 lines) Patch
A media/formats/mp2t/es_adapter_video.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +98 lines, -0 lines 0 comments Download
A media/formats/mp2t/es_adapter_video.cc View 1 2 3 4 5 6 7 8 1 chunk +190 lines, -0 lines 0 comments Download
A media/formats/mp2t/es_adapter_video_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +148 lines, -0 lines 0 comments Download
M media/formats/mp2t/es_parser_h264.h View 1 2 3 4 5 6 7 8 3 chunks +4 lines, -3 lines 0 comments Download
M media/formats/mp2t/es_parser_h264.cc View 1 2 3 4 5 6 7 8 6 chunks +11 lines, -8 lines 0 comments Download
M media/formats/mp2t/mp2t_stream_parser.h View 1 2 3 4 3 chunks +0 lines, -12 lines 0 comments Download
M media/formats/mp2t/mp2t_stream_parser.cc View 1 2 3 4 5 6 7 7 chunks +10 lines, -54 lines 0 comments Download
M media/formats/mp2t/mp2t_stream_parser_unittest.cc View 1 2 3 chunks +2 lines, -3 lines 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 24 (0 generated)
damienv1
There is currently no way to get an accurate frame duration for Mpeg2 TS. This ...
6 years, 5 months ago (2014-07-02 22:56:51 UTC) #1
acolwell GONE FROM CHROMIUM
https://codereview.chromium.org/364823008/diff/20001/media/formats/mp2t/es_parser_h264.cc File media/formats/mp2t/es_parser_h264.cc (right): https://codereview.chromium.org/364823008/diff/20001/media/formats/mp2t/es_parser_h264.cc#newcode27 media/formats/mp2t/es_parser_h264.cc:27: const base::TimeDelta kDefaultFrameDuration( nit: Please add a comment saying ...
6 years, 5 months ago (2014-07-03 00:50:58 UTC) #2
damienv1
https://codereview.chromium.org/364823008/diff/20001/media/formats/mp2t/es_parser_h264.cc File media/formats/mp2t/es_parser_h264.cc (right): https://codereview.chromium.org/364823008/diff/20001/media/formats/mp2t/es_parser_h264.cc#newcode269 media/formats/mp2t/es_parser_h264.cc:269: ((kMaxPtsHistoryLength - pts_count) * kDefaultFrameDuration + On 2014/07/03 00:50:58, ...
6 years, 5 months ago (2014-07-07 17:26:34 UTC) #3
damienv1
Please take a look at the coarse structure of the code (i.e. whether the logic ...
6 years, 5 months ago (2014-07-08 01:11:31 UTC) #4
damienv1
Ping on this CL (this CL is one of the 2 CLs needed to fix ...
6 years, 5 months ago (2014-07-09 15:22:17 UTC) #5
acolwell GONE FROM CHROMIUM
looks good to me. Just a few minor comments. I'll let Matt have the final ...
6 years, 5 months ago (2014-07-09 20:01:11 UTC) #6
damienv1
https://codereview.chromium.org/364823008/diff/100001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/100001/media/formats/mp2t/es_adapter_video.cc#newcode118 media/formats/mp2t/es_adapter_video.cc:118: for (BufferQueue::const_iterator it = buffer_list_.begin(); On 2014/07/09 20:01:10, acolwell_OOO_7-10_and_7-11 ...
6 years, 5 months ago (2014-07-10 16:00:54 UTC) #7
damienv1
PTAL. Thanks !
6 years, 5 months ago (2014-07-10 16:47:23 UTC) #8
wolenetz
First round of comments (questions, mostly): https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc#newcode186 media/formats/mp2t/es_adapter_video.cc:186: nit: remove? I'm ...
6 years, 5 months ago (2014-07-10 17:57:23 UTC) #9
damienv1
https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc#newcode186 media/formats/mp2t/es_adapter_video.cc:186: On 2014/07/10 17:57:23, wolenetz wrote: > nit: remove? I'm ...
6 years, 5 months ago (2014-07-10 18:34:52 UTC) #10
wolenetz
A couple more questions. Thanks! https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc#newcode81 media/formats/mp2t/es_adapter_video.cc:81: stream_parser_buffer->GetDecodeTimestamp()); Does caller of ...
6 years, 5 months ago (2014-07-10 19:32:27 UTC) #11
damienv1
https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/120001/media/formats/mp2t/es_adapter_video.cc#newcode81 media/formats/mp2t/es_adapter_video.cc:81: stream_parser_buffer->GetDecodeTimestamp()); On 2014/07/10 19:32:27, wolenetz wrote: > Does caller ...
6 years, 5 months ago (2014-07-10 20:01:23 UTC) #12
wolenetz
lgtm % nits and scherkus/acolwell/other OWNER's lgtm https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc#newcode114 media/formats/mp2t/es_adapter_video.cc:114: buffer->set_duration(last_frame_duration_); nit: ...
6 years, 5 months ago (2014-07-10 20:34:26 UTC) #13
scherkus (not reviewing)
https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc#newcode17 media/formats/mp2t/es_adapter_video.cc:17: static base::TimeDelta kDefaultFrameDuration( FYI this introduces a static initializer ...
6 years, 5 months ago (2014-07-10 20:45:34 UTC) #14
damienv1
https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc File media/formats/mp2t/es_adapter_video.cc (right): https://codereview.chromium.org/364823008/diff/140001/media/formats/mp2t/es_adapter_video.cc#newcode17 media/formats/mp2t/es_adapter_video.cc:17: static base::TimeDelta kDefaultFrameDuration( On 2014/07/10 20:45:34, scherkus wrote: > ...
6 years, 5 months ago (2014-07-10 22:53:42 UTC) #15
damienv1
PTAL. Thanks for your feedback.
6 years, 5 months ago (2014-07-10 22:55:40 UTC) #16
scherkus (not reviewing)
https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc File media/formats/mp2t/es_adapter_video_unittest.cc (right): https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc#newcode95 media/formats/mp2t/es_adapter_video_unittest.cc:95: EXPECT_EQ(expected_frame_duration_[buffer_count_], buffer->duration()); suggestion for improving the maintainability of this ...
6 years, 5 months ago (2014-07-10 23:13:58 UTC) #17
wolenetz
https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc File media/formats/mp2t/es_adapter_video_unittest.cc (right): https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc#newcode34 media/formats/mp2t/es_adapter_video_unittest.cc:34: std::vector<scoped_refptr<StreamParserBuffer> > nit: use StreamParserBuffer::BufferQueue (a deque) instead of ...
6 years, 5 months ago (2014-07-10 23:28:14 UTC) #18
damienv1
https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc File media/formats/mp2t/es_adapter_video_unittest.cc (right): https://codereview.chromium.org/364823008/diff/160001/media/formats/mp2t/es_adapter_video_unittest.cc#newcode34 media/formats/mp2t/es_adapter_video_unittest.cc:34: std::vector<scoped_refptr<StreamParserBuffer> > On 2014/07/10 23:28:14, wolenetz wrote: > nit: ...
6 years, 5 months ago (2014-07-11 00:44:42 UTC) #19
scherkus (not reviewing)
lgtm -- thanks for writing tests! they're looking pretty sharp :)
6 years, 5 months ago (2014-07-11 00:49:43 UTC) #20
damienv1
Thanks for the reviews !
6 years, 5 months ago (2014-07-11 01:57:34 UTC) #21
damienv1
The CQ bit was checked by damienv@chromium.org
6 years, 5 months ago (2014-07-11 01:57:57 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/damienv@chromium.org/364823008/200001
6 years, 5 months ago (2014-07-11 01:59:05 UTC) #23
commit-bot: I haz the power
6 years, 5 months ago (2014-07-11 08:05:14 UTC) #24
Message was sent while issue was closed.
Change committed as 282585

Powered by Google App Engine
This is Rietveld 408576698