New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 712310 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Several of the MSE format parsers contain "dummy" MediaLog instances.

Project Member Reported by dalecur...@chromium.org, Apr 17 2017

Issue description

https://cs.chromium.org/search/?q=file:media/formats+-file:.*_unittest.cc+%22new+MediaLog%22&type=cs

Probably more, but these cases prevent any logging from reaching the chrome://media-internals page. We'll need to plumb a real media log for these.

Found while converting MediaLog to a unique_ptr, will tag instances with this bug.
 
Cc: sande...@chromium.org
Thanks for filing this, Dale. One of the 5 instances in your query is for a unit test, which doesn't verify anything related to the MediaLog. Did you mean to include that unit test instance?
No, the query tries to filter out unittests. 
Cc: servolk@chromium.org
Seems like the HEVC and DolbyVision ones are not MSE usage, but either tests or used by the bitstream converter. +servolk in case he wants to fix these.
HEVC and DolbyVision were following the example set by AVCDecoderConfigurationRecord::Parse (https://cs.chromium.org/chromium/src/media/formats/mp4/box_definitions.cc?rcl=27bab2297187099229a1e4304d8feb866c8da55a&l=590).
For some reason the AVC class uses an actual media log at https://cs.chromium.org/chromium/src/media/formats/mp4/box_definitions.cc?rcl=45438484dd3e094951bfbdad9ebd6687933c7840&l=585, but uses a dummy ("new MediaLog") in a different overload. And code search seems to be broken (at least I can find out easily where each overload is called from).

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9cddc0b9cd174242d365e9d64615687384b73c89

commit 9cddc0b9cd174242d365e9d64615687384b73c89
Author: dalecurtis <dalecurtis@chromium.org>
Date: Wed Apr 19 21:23:38 2017

Convert MediaLog from being ref counted to owned by WebMediaPlayer.

MediaLog instances are always bound to a specific player, so there's
no reason for having it be ref-counted other than to confuse folk
into thinking it can be reused.

There seems to be no reason why this was ref counted. There were a
couple questionable places, WebSourceBufferImpl and
WebMediaPlayerMSCompositor, but neither is really using the MediaLog
so I either removed it or replaced it with a dummy log.

The RendererFactories are a bit questionable too, but they are owned
by the WebMediaPlayerImpl so should be fine.

BUG= 711818 ,712310
TEST=compiles, nothing crashes, existing tests still pass.
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2815303006
Cr-Commit-Position: refs/heads/master@{#465753}

[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/chromecast/media/cma/decoder/cast_audio_decoder_linux.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/chromecast/media/cma/test/frame_segmenter_for_test.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/chromecast/media/service/cast_mojo_media_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/chromecast/media/service/cast_mojo_media_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/browser/media/media_internals_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/render_media_log.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/render_media_log.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/render_media_log_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/webmediaplayer_ms.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/webmediaplayer_ms_compositor.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/webmediaplayer_ms_compositor.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/media_capture_from_element/html_audio_element_capturer_source_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/pepper/video_decoder_shim.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/demuxer_perftest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/media_log.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/media_log.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/mock_filters.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/mock_media_log.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/pipeline_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/pipeline_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/pipeline_impl_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/base/stream_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/multibuffer_data_source.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/multibuffer_data_source_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/watch_time_reporter.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/watch_time_reporter.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/watch_time_reporter_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webaudiosourceprovider_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webaudiosourceprovider_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webaudiosourceprovider_impl_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webencryptedmediaclient_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webencryptedmediaclient_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_params.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_params.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_util.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediaplayer_util.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediasource_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/blink/webmediasource_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/cast/sender/h264_vt_encoder_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/audio_decoder_selector_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/audio_decoder_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/audio_timestamp_validator.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/audio_timestamp_validator.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/audio_timestamp_validator_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/chunk_demuxer.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/chunk_demuxer.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/chunk_demuxer_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_selector.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_selector.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_stream.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_stream.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_stream_traits.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decoder_stream_traits.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_audio_decoder.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_audio_decoder.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_audio_decoder_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_demuxer_stream.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_demuxer_stream.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_demuxer_stream_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_video_decoder.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_video_decoder.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/decrypting_video_decoder_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_audio_decoder.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_audio_decoder.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_demuxer.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_demuxer.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_demuxer_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_video_decoder.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_video_decoder.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/ffmpeg_video_decoder_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/frame_processor.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/frame_processor.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/frame_processor_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/gpu_video_decoder.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/gpu_video_decoder.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_state.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_state.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_state_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_stream.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_stream.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/source_buffer_stream_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/stream_parser_factory.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/stream_parser_factory.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/video_decoder_selector_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/video_frame_stream_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/video_renderer_algorithm.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/video_renderer_algorithm.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/filters/video_renderer_algorithm_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/common/stream_parser_test_base.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/common/stream_parser_test_base.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/es_parser_mpeg1audio.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/es_parser_mpeg1audio.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/mp2t_stream_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/mp2t_stream_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp2t/mp2t_stream_parser_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/aac.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/aac.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/aac_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/box_definitions.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/box_reader.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/box_reader.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/box_reader_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/dolby_vision.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/dolby_vision.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/dolby_vision_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/hevc.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/hevc.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/mp4_stream_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/mp4_stream_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/mp4_stream_parser_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/track_run_iterator.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/track_run_iterator.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mp4/track_run_iterator_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mpeg/mpeg1_audio_stream_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mpeg/mpeg1_audio_stream_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mpeg/mpeg_audio_stream_parser_base.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/mpeg/mpeg_audio_stream_parser_base.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_audio_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_audio_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_cluster_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_cluster_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_cluster_parser_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_content_encodings_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_content_encodings_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_content_encodings_client_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_stream_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_stream_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_stream_parser_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_tracks_parser.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_tracks_parser.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_tracks_parser_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_video_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/formats/webm/webm_video_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/gpu/video_encode_accelerator_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/interface_factory_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/interface_factory_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/media_service.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/media_service.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/mojo_media_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/mojo_media_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/test_mojo_media_client.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/mojo/services/test_mojo_media_client.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/audio_renderer_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/audio_renderer_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/audio_renderer_impl_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/default_renderer_factory.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/default_renderer_factory.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/video_renderer_impl.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/video_renderer_impl.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/renderers/video_renderer_impl_unittest.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/test/pipeline_integration_test.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/test/pipeline_integration_test_base.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/media/test/pipeline_integration_test_base.h
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/testing/libfuzzer/fuzzers/es_parser_mpeg1audio_fuzzer.cc
[modify] https://crrev.com/9cddc0b9cd174242d365e9d64615687384b73c89/testing/libfuzzer/fuzzers/mp4_box_reader_fuzzer.cc

es_parser_adts.cc also uses an ADTSStreamParser without calling Init() on it and giving it a for-realz MediaLog.
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/777668278d3487a6c1cabde6bea0991b95b5007d

commit 777668278d3487a6c1cabde6bea0991b95b5007d
Author: wdzierzanowski <wdzierzanowski@opera.com>
Date: Fri Jun 30 22:13:41 2017

Turn MediaLog usage from plain wrong into questionable

ReadConcatentatedBoxes() was handing out BoxReader instances that
referred to MediaLog objects that had gone out of scope.

BUG=712310

Review-Url: https://codereview.chromium.org/2966493005
Cr-Commit-Position: refs/heads/master@{#483840}

[modify] https://crrev.com/777668278d3487a6c1cabde6bea0991b95b5007d/media/cdm/cenc_utils.cc
[modify] https://crrev.com/777668278d3487a6c1cabde6bea0991b95b5007d/media/formats/mp4/box_reader.cc
[modify] https://crrev.com/777668278d3487a6c1cabde6bea0991b95b5007d/media/formats/mp4/box_reader.h

Project Member

Comment 9 by bugdroid1@chromium.org, Dec 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209

commit 14b3166d786b77a72c2fd5f1c844ba5c8b3b6209
Author: Xiaohan Wang <xhwang@chromium.org>
Date: Fri Dec 28 21:05:46 2018

media: Use NullMediaLog in tests and most places instead of MediaLog

Currently MediaLog (implementation) can be constructed directly and
be used wherever a MediaLog (interface) is needed. This is widely used
in tests which is fine, and in some production code, which is
questionable (see Bug for details). Part of the problem is that MediaLog
is both an interface and an implementation. And it's not obvious to
people not familiar with the code that MediaLog (implementation)
actually doesn't report the log anywhere.

This CL uses NullMediaLog as much as possible to make it clear it
doesn't actually report the logs.

In the next CL, we'll make sure MediaLog cannot be constructed directly
to prevent this kind of misuse. In the future, we probably should
separate MediaLog interface and implementation.

TBR=dcheng@chromium.org,halliwell@chromium.org

Bug: 712310
Test: No functionality change.
Change-Id: I57c21fb5e4a0a2cba34d6f7d4fabd2d5261fe725
Reviewed-on: https://chromium-review.googlesource.com/c/1391859
Reviewed-by: Frank Liberato <liberato@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619191}
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/chromecast/media/cma/decoder/cast_audio_decoder.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/chromecast/media/cma/test/frame_segmenter_for_test.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/content/renderer/media/stream/webmediaplayer_ms_compositor.h
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/content/renderer/media/webrtc/rtc_video_decoder_adapter.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/content/renderer/media_capture_from_element/html_audio_element_capturer_source_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/content/renderer/pepper/video_decoder_shim.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/base/pipeline_impl_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/blink/multibuffer_data_source_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/blink/webaudiosourceprovider_impl_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/cast/sender/h264_vt_encoder_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/cdm/cenc_utils.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/audio_decoder_stream_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/audio_decoder_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/decoder_selector_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/decrypting_audio_decoder_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/decrypting_video_decoder_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/demuxer_perftest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/stream_parser_factory.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/filters/video_renderer_algorithm_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/common/stream_parser_test_base.h
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/mp2t/mp2t_stream_parser_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/mp4/dolby_vision.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/formats/mp4/hevc.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/gpu/video_encode_accelerator_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/mojo/services/interface_factory_impl.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/mojo/services/interface_factory_impl.h
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/mojo/services/media_service.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/mojo/services/media_service.h
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/renderers/audio_renderer_impl_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/renderers/video_renderer_impl_unittest.cc
[modify] https://crrev.com/14b3166d786b77a72c2fd5f1c844ba5c8b3b6209/media/test/mock_media_source.h

Project Member

Comment 10 by bugdroid1@chromium.org, Dec 28

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08555efc112ba10445a1698e46fa4ec21a8de0de

commit 08555efc112ba10445a1698e46fa4ec21a8de0de
Author: Xiaohan Wang <xhwang@chromium.org>
Date: Fri Dec 28 21:57:41 2018

media: Make MediaLog::MediaLog() protected

This helps make sure MediaLog cannot be created directly which often
indicates misuse. Instead, MediaLog can only be created by subclasses
or by factory methods like MediaLog::Clone().

Also fixes MediaLog use in FFmepgDemuxerTest which was missed in the
last CL.

In the long term, we probably want to split MediaLog interface and
implementation to avoid the complexity and confusion.

Bug: 712310
Test: No functionality change.
Change-Id: I52fc767473611c36419869552e43327c56d27fb7
Reviewed-on: https://chromium-review.googlesource.com/c/1392208
Reviewed-by: Frank Liberato <liberato@chromium.org>
Commit-Queue: Xiaohan Wang <xhwang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619200}
[modify] https://crrev.com/08555efc112ba10445a1698e46fa4ec21a8de0de/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/08555efc112ba10445a1698e46fa4ec21a8de0de/media/base/media_log.h
[modify] https://crrev.com/08555efc112ba10445a1698e46fa4ec21a8de0de/media/base/media_log_unittest.cc
[modify] https://crrev.com/08555efc112ba10445a1698e46fa4ec21a8de0de/media/filters/ffmpeg_demuxer_unittest.cc

Sign in to add a comment