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

Issue 1833323002: Motown: Add ActiveMultistreamSource model in preparation for the ffmpeg demux with async I/O (Closed)

Created:
4 years, 9 months ago by dalesat
Modified:
4 years, 8 months ago
Reviewers:
vtl, kulakowski, jeffbrown
CC:
mojo-reviews_chromium.org, gregsimon, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://github.com/domokit/mojo.git@master
Target Ref:
refs/heads/master
Project:
mojo
Visibility:
Public.

Description

Motown: Add ActiveMultistreamSource model in preparation for the ffmpeg demux with async I/O The current I/O model used for readers is synchronous, because ffmpeg's I/O model is synchronous. This is a problem for mojo reader implementations. The solution is to have the ffmpeg demux running on its own thread, which means that it will produce packets asynchronously. The current framework model used for the demux is MultistreamSource, which can't handle asynchronous packet production. ActiveMultistreamSource is an aysnc version of MultistreamSource. There are a few minor fixes in this CL as well. R=kulakowski@chromium.org Committed: https://chromium.googlesource.com/external/mojo/+/d7afe9edcafac4f830faad5f39d706c63cbe7ef6

Patch Set 1 #

Total comments: 8

Patch Set 2 : Fixes based on feedback #

Patch Set 3 : Added missing files #

Total comments: 2

Patch Set 4 : Replaced undefined behavior with abort() per feedback. #

Patch Set 5 : dalesat #

Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -44 lines) Patch
M examples/media_test/media_test_app.cc View 3 chunks +2 lines, -4 lines 0 comments Download
M services/media/framework/BUILD.gn View 1 3 chunks +5 lines, -0 lines 0 comments Download
M services/media/framework/graph.h View 2 chunks +2 lines, -0 lines 0 comments Download
A services/media/framework/models/active_multistream_source.h View 1 chunk +38 lines, -0 lines 0 comments Download
M services/media/framework/models/multistream_source.h View 1 chunk +1 line, -2 lines 0 comments Download
A + services/media/framework/stages/active_multistream_source_stage.h View 1 2 chunks +11 lines, -11 lines 0 comments Download
A services/media/framework/stages/active_multistream_source_stage.cc View 1 2 3 1 chunk +117 lines, -0 lines 0 comments Download
M services/media/framework/stages/active_sink_stage.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M services/media/framework/stages/active_source_stage.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M services/media/framework/stages/multistream_source_stage.cc View 1 2 3 3 chunks +3 lines, -10 lines 0 comments Download
A + services/media/framework/stages/util.h View 1 2 1 chunk +8 lines, -8 lines 0 comments Download
A + services/media/framework/stages/util.cc View 1 2 1 chunk +10 lines, -5 lines 0 comments Download
M services/media/framework_ffmpeg/ffmpeg_decoder_base.cc View 1 chunk +1 line, -1 line 0 comments Download
M services/media/framework_mojo/mojo_producer.h View 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 13 (3 generated)
dalesat
Please take a look. Thanks!
4 years, 9 months ago (2016-03-25 23:06:36 UTC) #3
kulakowski
https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc (right): https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode17 services/media/framework/stages/active_multistream_source_stage.cc:17: DCHECK(!cached_packet_) << "source supplied unrequestd packet"; typo: unrequestd https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode45 ...
4 years, 8 months ago (2016-03-28 19:24:16 UTC) #4
dalesat
PTAL https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc (right): https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode17 services/media/framework/stages/active_multistream_source_stage.cc:17: DCHECK(!cached_packet_) << "source supplied unrequestd packet"; On 2016/03/28 ...
4 years, 8 months ago (2016-03-28 22:40:34 UTC) #5
kulakowski
https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc (right): https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode45 services/media/framework/stages/active_multistream_source_stage.cc:45: return *(static_cast<Input*>(nullptr)); On 2016/03/28 22:40:34, dalesat wrote: > On ...
4 years, 8 months ago (2016-03-28 23:09:33 UTC) #6
dalesat
https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc (right): https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode45 services/media/framework/stages/active_multistream_source_stage.cc:45: return *(static_cast<Input*>(nullptr)); On 2016/03/28 23:09:33, kulakowski wrote: > On ...
4 years, 8 months ago (2016-03-29 00:00:29 UTC) #7
kulakowski
On 2016/03/29 00:00:29, dalesat wrote: > https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc > File services/media/framework/stages/active_multistream_source_stage.cc (right): > > https://codereview.chromium.org/1833323002/diff/1/services/media/framework/stages/active_multistream_source_stage.cc#newcode45 > ...
4 years, 8 months ago (2016-03-30 18:17:15 UTC) #8
kulakowski
Sorry, this comment was supposed to be attached to the prior message. https://codereview.chromium.org/1833323002/diff/40001/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc ...
4 years, 8 months ago (2016-03-30 20:42:43 UTC) #9
dalesat
PTAL https://codereview.chromium.org/1833323002/diff/40001/services/media/framework/stages/active_multistream_source_stage.cc File services/media/framework/stages/active_multistream_source_stage.cc (right): https://codereview.chromium.org/1833323002/diff/40001/services/media/framework/stages/active_multistream_source_stage.cc#newcode46 services/media/framework/stages/active_multistream_source_stage.cc:46: return *(static_cast<Input*>(nullptr)); On 2016/03/30 20:42:43, kulakowski wrote: > ...
4 years, 8 months ago (2016-03-30 20:51:05 UTC) #10
kulakowski
lgtm
4 years, 8 months ago (2016-03-30 20:52:04 UTC) #11
dalesat
4 years, 8 months ago (2016-03-30 21:06:50 UTC) #13
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
d7afe9edcafac4f830faad5f39d706c63cbe7ef6 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698