|
|
Chromium Code Reviews|
Created:
3 years, 8 months ago by emircan Modified:
3 years, 8 months ago Reviewers:
mcasas CC:
chromium-reviews, mlamouri+watch-content_chromium.org, emircan+watch+mediarecorder_chromium.org, posciak+watch_chromium.org, jam, darin-cc_chromium.org, mcasas+mediarecorder_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionHandle HW encoder errors in VideoTrackRecorder
This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder
so that the recording session can be reinitialized.
BUG=676424
TEST=Added unittest. WebRTC quality browser tests now pass on Mac H264.
Review-Url: https://codereview.chromium.org/2804843002
Cr-Commit-Position: refs/heads/master@{#462366}
Committed: https://chromium.googlesource.com/chromium/src/+/75762009cfc628424a8af508b91418ce912e0506
Patch Set 1 : #
Total comments: 4
Patch Set 2 : #
Total comments: 4
Patch Set 3 : #
Messages
Total messages: 45 (35 generated)
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #1 (id:1) has been deleted
Description was changed from ========== error fb BUG= ========== to ========== Handle HW encoder errors in VideoTrackRecorder This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder so that the recording session can be reinitialized. BUG=676424 TEST=Added unittest. WebRTC quality browser tests now pass. ==========
emircan@chromium.org changed reviewers: + mcasas@chromium.org
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #1 (id:20001) has been deleted
Description was changed from ========== Handle HW encoder errors in VideoTrackRecorder This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder so that the recording session can be reinitialized. BUG=676424 TEST=Added unittest. WebRTC quality browser tests now pass. ========== to ========== Handle HW encoder errors in VideoTrackRecorder This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder so that the recording session can be reinitialized. BUG=676424 TEST=Added unittest. WebRTC quality browser tests now pass on Mac H264. ==========
PTAL.
The CQ bit was unchecked by emircan@chromium.org
https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.cc (right): https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.cc:1365: base::Bind(initialize_encoder_callback_, allow_vea_encoder)), ...and here s|allow_vea_encoder|false /*allow_vea_encoder*/| https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.h (right): https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.h:57: using OnErrorCB = base::Callback<void(bool allow_vea_encoder)>; Actually we don't need the parameter |allow_vea_encoder| becuase every time someone calls OnError(), it's understood that this parameter is false, IOW when someone calls VideoTrackRecorder::OnError(), it's understood that there has been an error.
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.cc (right): https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.cc:1365: base::Bind(initialize_encoder_callback_, allow_vea_encoder)), On 2017/04/05 21:44:33, mcasas wrote: > ...and here > s|allow_vea_encoder|false /*allow_vea_encoder*/| Done. https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.h (right): https://codereview.chromium.org/2804843002/diff/40001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.h:57: using OnErrorCB = base::Callback<void(bool allow_vea_encoder)>; On 2017/04/05 21:44:33, mcasas wrote: > Actually we don't need the parameter |allow_vea_encoder| > becuase every time someone calls OnError(), it's understood > that this parameter is false, IOW when someone calls > VideoTrackRecorder::OnError(), it's understood that there > has been an error. Done. Initially, I worked on a generic OnError() method that every encoder implementation can call, but later realized that those cases aren't available in SW. This param was left from then.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
lgtm with suggestions https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.h (right): https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.h:57: using OnErrorCB = base::Callback<void()>; This is a base::Closure; https://cs.chromium.org/chromium/src/base/callback_forward.h?type=cs&l=33 https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder_unittest.cc (right): https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder_unittest.cc:309: // Insert OnError() call. Superfluous comment? Also, in this test case we don't really test much, IOW: encode a frame, see a keyframe appearing, insert an error, and then... just wait for another key frame? Any other observable quality that would lead us to see the expected changes? (Maybe we can see the track being disconnected-reconnected?)
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder.h (right): https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder.h:57: using OnErrorCB = base::Callback<void()>; On 2017/04/05 22:43:40, mcasas wrote: > This is a base::Closure; > > https://cs.chromium.org/chromium/src/base/callback_forward.h?type=cs&l=33 Done. https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... File content/renderer/media_recorder/video_track_recorder_unittest.cc (right): https://codereview.chromium.org/2804843002/diff/60001/content/renderer/media_... content/renderer/media_recorder/video_track_recorder_unittest.cc:309: // Insert OnError() call. On 2017/04/05 22:43:40, mcasas wrote: > Superfluous comment? > > Also, in this test case we don't really test much, IOW: > encode a frame, see a keyframe appearing, insert an > error, and then... just wait for another key frame? Any > other observable quality that would lead us to see the > expected changes? (Maybe we can see the track being > disconnected-reconnected?) Right, it can have more. I added checks to make sure that encoder instance is reset after OnError(), see HasEncoderInstance() calls. Following track events aren't applicable here as MockMediaStreamVideoTrack isn't available.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by emircan@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from mcasas@chromium.org Link to the patchset: https://codereview.chromium.org/2804843002/#ps80001 (title: " ")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_comp...) android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
The CQ bit was checked by emircan@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by emircan@chromium.org
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by emircan@chromium.org
The CQ bit was checked by emircan@chromium.org to run a CQ dry run
Patchset #4 (id:100001) has been deleted
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #3 (id:80001) has been deleted
The CQ bit was unchecked by emircan@chromium.org
The CQ bit was checked by emircan@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from mcasas@chromium.org Link to the patchset: https://codereview.chromium.org/2804843002/#ps120001 (title: " ")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch.
Bot data: {"patchset_id": 120001, "attempt_start_ts": 1491454791996260,
"parent_rev": "57643b09e8b1558e599d51ceb0ae996ab50e1aae", "commit_rev":
"75762009cfc628424a8af508b91418ce912e0506"}
Message was sent while issue was closed.
Description was changed from ========== Handle HW encoder errors in VideoTrackRecorder This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder so that the recording session can be reinitialized. BUG=676424 TEST=Added unittest. WebRTC quality browser tests now pass on Mac H264. ========== to ========== Handle HW encoder errors in VideoTrackRecorder This CL adds callback to propagate errors from VEAEncoder to VideoTrackRecorder so that the recording session can be reinitialized. BUG=676424 TEST=Added unittest. WebRTC quality browser tests now pass on Mac H264. Review-Url: https://codereview.chromium.org/2804843002 Cr-Commit-Position: refs/heads/master@{#462366} Committed: https://chromium.googlesource.com/chromium/src/+/75762009cfc628424a8af508b914... ==========
Message was sent while issue was closed.
Committed patchset #3 (id:120001) as https://chromium.googlesource.com/chromium/src/+/75762009cfc628424a8af508b914... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
