Skip to content

Commit

Permalink
Convert enable_mpeg2ts_parser GYP flag into a new-style buildflag
Browse files Browse the repository at this point in the history
According to recommendation given at
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/5c4ySpPsV14

BUG=none

Review URL: https://codereview.chromium.org/1539983004

Cr-Commit-Position: refs/heads/master@{#368001}
  • Loading branch information
servolk authored and Commit bot committed Jan 7, 2016
1 parent 81392bf commit 2a41135
Show file tree
Hide file tree
Showing 13 changed files with 144 additions and 100 deletions.
9 changes: 0 additions & 9 deletions build/common.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -1548,9 +1548,6 @@
# Force disable libstdc++ debug mode.
'disable_glibcxx_debug%': 0,

# Set to 1 to compile with MSE support for MPEG2 TS
'enable_mpeg2ts_stream_parser%': 0,

# Support ChromeOS touchpad gestures with ozone.
'use_evdev_gestures%': 0,

Expand Down Expand Up @@ -1885,7 +1882,6 @@
'use_system_fontconfig%': 1,
}],
['chromecast==1', {
'enable_mpeg2ts_stream_parser%': 1,
'use_custom_freetype%': 0,
'use_playready%': 0,
'conditions': [
Expand Down Expand Up @@ -2777,11 +2773,6 @@
}],
['proprietary_codecs==1', {
'defines': ['USE_PROPRIETARY_CODECS'],
'conditions': [
['enable_mpeg2ts_stream_parser==1', {
'defines': ['ENABLE_MPEG2TS_STREAM_PARSER'],
}],
],
}],
['enable_viewport==1', {
'defines': ['ENABLE_VIEWPORT'],
Expand Down
1 change: 1 addition & 0 deletions content/browser/DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ include_rules = [
"+device/battery", # For battery status service.
"+device/vibration", # For Vibration API
"+gin/v8_initializer.h",
"+media/media_features.h",
"+media/audio", # For audio input for speech input feature.
"+media/base", # For Android JNI registration.
"+media/filters", # For reporting GPU decoding UMA.
Expand Down
3 changes: 2 additions & 1 deletion content/browser/media/media_canplaytype_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/content_browser_test_utils.h"
#include "content/shell/browser/shell.h"
#include "media/media_features.h"

#if defined(OS_ANDROID)
#include "base/android/build_info.h"
Expand Down Expand Up @@ -47,7 +48,7 @@ const char* kHevcSupported = kPropProbably;
const char* kHevcSupported = kNot;
#endif

#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
const char* kMp2tsMaybe = kPropMaybe;
const char* kMp2tsProbably = kPropProbably;
#else
Expand Down
9 changes: 7 additions & 2 deletions content/browser/media/media_source_browsertest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#include "build/build_config.h"
#include "content/browser/media/media_browsertest.h"
#include "content/public/common/content_switches.h"
#include "media/media_features.h"
#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif
Expand All @@ -21,9 +22,11 @@ const char kWebMOpusAudioOnly[] = "audio/webm; codecs=\"opus\"";
const char kWebMVideoOnly[] = "video/webm; codecs=\"vp8\"";
const char kWebMAudioVideo[] = "video/webm; codecs=\"vorbis, vp8\"";

#if defined(USE_PROPRIETARY_CODECS) && defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if defined(USE_PROPRIETARY_CODECS)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
const char kMp2tAudioVideo[] = "video/mp2t; codecs=\"mp4a.40.2, avc1.42E01E\"";
#endif
#endif

namespace content {

Expand Down Expand Up @@ -127,9 +130,11 @@ IN_PROC_BROWSER_TEST_F(MediaSourceTest, Playback_Video_WEBM_Audio_MP4) {
}
#endif

#if defined(USE_PROPRIETARY_CODECS) && defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if defined(USE_PROPRIETARY_CODECS)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
IN_PROC_BROWSER_TEST_F(MediaSourceTest, Playback_AudioVideo_Mp2t) {
TestSimplePlayback("bear-1280x720.ts", kMp2tAudioVideo, kEnded);
}
#endif
#endif
} // namespace content
1 change: 1 addition & 0 deletions content/content_tests.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -1509,6 +1509,7 @@
],
'dependencies': [
'<(DEPTH)/content/app/strings/content_strings.gyp:content_strings',
'<(DEPTH)/media/media.gyp:media_features',
'<(DEPTH)/net/net.gyp:net_resources',
'<(DEPTH)/third_party/WebKit/public/blink_resources.gyp:blink_resources',
'<(DEPTH)/third_party/iaccessible2/iaccessible2.gyp:iaccessible2',
Expand Down
1 change: 1 addition & 0 deletions content/test/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,7 @@ test("content_browsertests") {
"//gin",
"//gpu",
"//ipc:test_support",
"//media:media_features",
"//media:shared_memory_support",
"//media:test_support",
"//media/audio:test_support",
Expand Down
85 changes: 51 additions & 34 deletions media/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/buildflag_header.gni")
import("//build/config/android/config.gni")
import("//build/config/arm.gni")
import("//build/config/features.gni")
Expand All @@ -10,6 +11,13 @@ import("//build/config/ui.gni")
import("//media/media_options.gni")
import("//testing/test.gni")

buildflag_header("media_features") {
header = "media_features.h"

flags =
[ "ENABLE_MSE_MPEG2TS_STREAM_PARSER=$enable_mse_mpeg2ts_stream_parser" ]
}

# Common configuration for targets in the media directory.
# NOT for exporting.
config("media_config") {
Expand Down Expand Up @@ -479,32 +487,6 @@ component("media") {
"cdm/cenc_utils.h",
"filters/h264_to_annex_b_bitstream_converter.cc",
"filters/h264_to_annex_b_bitstream_converter.h",
"formats/mp2t/es_adapter_video.cc",
"formats/mp2t/es_adapter_video.h",
"formats/mp2t/es_parser.cc",
"formats/mp2t/es_parser.h",
"formats/mp2t/es_parser_adts.cc",
"formats/mp2t/es_parser_adts.h",
"formats/mp2t/es_parser_h264.cc",
"formats/mp2t/es_parser_h264.h",
"formats/mp2t/es_parser_mpeg1audio.cc",
"formats/mp2t/es_parser_mpeg1audio.h",
"formats/mp2t/mp2t_common.h",
"formats/mp2t/mp2t_stream_parser.cc",
"formats/mp2t/mp2t_stream_parser.h",
"formats/mp2t/timestamp_unroller.cc",
"formats/mp2t/timestamp_unroller.h",
"formats/mp2t/ts_packet.cc",
"formats/mp2t/ts_packet.h",
"formats/mp2t/ts_section.h",
"formats/mp2t/ts_section_pat.cc",
"formats/mp2t/ts_section_pat.h",
"formats/mp2t/ts_section_pes.cc",
"formats/mp2t/ts_section_pes.h",
"formats/mp2t/ts_section_pmt.cc",
"formats/mp2t/ts_section_pmt.h",
"formats/mp2t/ts_section_psi.cc",
"formats/mp2t/ts_section_psi.h",
"formats/mp4/aac.cc",
"formats/mp4/aac.h",
"formats/mp4/avc.cc",
Expand Down Expand Up @@ -534,6 +516,36 @@ component("media") {
"formats/mpeg/mpeg_audio_stream_parser_base.cc",
"formats/mpeg/mpeg_audio_stream_parser_base.h",
]
if (enable_mse_mpeg2ts_stream_parser) {
sources += [
"formats/mp2t/es_adapter_video.cc",
"formats/mp2t/es_adapter_video.h",
"formats/mp2t/es_parser.cc",
"formats/mp2t/es_parser.h",
"formats/mp2t/es_parser_adts.cc",
"formats/mp2t/es_parser_adts.h",
"formats/mp2t/es_parser_h264.cc",
"formats/mp2t/es_parser_h264.h",
"formats/mp2t/es_parser_mpeg1audio.cc",
"formats/mp2t/es_parser_mpeg1audio.h",
"formats/mp2t/mp2t_common.h",
"formats/mp2t/mp2t_stream_parser.cc",
"formats/mp2t/mp2t_stream_parser.h",
"formats/mp2t/timestamp_unroller.cc",
"formats/mp2t/timestamp_unroller.h",
"formats/mp2t/ts_packet.cc",
"formats/mp2t/ts_packet.h",
"formats/mp2t/ts_section.h",
"formats/mp2t/ts_section_pat.cc",
"formats/mp2t/ts_section_pat.h",
"formats/mp2t/ts_section_pes.cc",
"formats/mp2t/ts_section_pes.h",
"formats/mp2t/ts_section_pmt.cc",
"formats/mp2t/ts_section_pmt.h",
"formats/mp2t/ts_section_psi.cc",
"formats/mp2t/ts_section_psi.h",
]
}
}

if (use_low_memory_buffer) {
Expand All @@ -549,6 +561,7 @@ component("media") {
}

public_deps = [
":media_features",
":shared_memory_support",
"//media/audio",
"//media/base",
Expand Down Expand Up @@ -745,14 +758,6 @@ test("media_unittests") {
"filters/h264_to_annex_b_bitstream_converter_unittest.cc",
"formats/common/stream_parser_test_base.cc",
"formats/common/stream_parser_test_base.h",
"formats/mp2t/es_adapter_video_unittest.cc",
"formats/mp2t/es_parser_adts_unittest.cc",
"formats/mp2t/es_parser_h264_unittest.cc",
"formats/mp2t/es_parser_mpeg1audio_unittest.cc",
"formats/mp2t/es_parser_test_base.cc",
"formats/mp2t/es_parser_test_base.h",
"formats/mp2t/mp2t_stream_parser_unittest.cc",
"formats/mp2t/timestamp_unroller_unittest.cc",
"formats/mp4/aac_unittest.cc",
"formats/mp4/avc_unittest.cc",
"formats/mp4/box_reader_unittest.cc",
Expand All @@ -763,6 +768,18 @@ test("media_unittests") {
"formats/mpeg/adts_stream_parser_unittest.cc",
"formats/mpeg/mpeg1_audio_stream_parser_unittest.cc",
]
if (enable_mse_mpeg2ts_stream_parser) {
sources += [
"formats/mp2t/es_adapter_video_unittest.cc",
"formats/mp2t/es_parser_adts_unittest.cc",
"formats/mp2t/es_parser_h264_unittest.cc",
"formats/mp2t/es_parser_mpeg1audio_unittest.cc",
"formats/mp2t/es_parser_test_base.cc",
"formats/mp2t/es_parser_test_base.h",
"formats/mp2t/mp2t_stream_parser_unittest.cc",
"formats/mp2t/timestamp_unroller_unittest.cc",
]
}
if (media_use_ffmpeg) {
sources += [
"filters/ffmpeg_aac_bitstream_converter_unittest.cc",
Expand Down
7 changes: 4 additions & 3 deletions media/base/mime_util.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#include "base/strings/string_util.h"
#include "build/build_config.h"
#include "media/base/mime_util.h"
#include "media/media_features.h"

#if defined(OS_ANDROID)
#include "base/android/build_info.h"
Expand Down Expand Up @@ -255,7 +256,7 @@ static const MediaFormat kFormatCodecMappings[] = {
{"audio/x-m4a", PROPRIETARY, kMP4AudioCodecsExpression},
{"video/mp4", PROPRIETARY, kMP4VideoCodecsExpression},
{"video/x-m4v", PROPRIETARY, kMP4VideoCodecsExpression},
#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
{"video/mp2t", PROPRIETARY, kMP4VideoCodecsExpression},
#endif
#if defined(OS_ANDROID)
Expand Down Expand Up @@ -308,7 +309,7 @@ static const CodecIDMappings kAmbiguousCodecStringMap[] = {
// avc1/avc3.XXXXXX may be ambiguous; handled by ParseH264CodecID().
};

#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
static const char kHexString[] = "0123456789ABCDEF";
static char IntToHex(int i) {
DCHECK_GE(i, 0) << i << " not a hex value";
Expand Down Expand Up @@ -479,7 +480,7 @@ SupportsType MimeUtil::IsSupportedMediaFormat(
return IsCodecSupported(default_codec) ? IsSupported : IsNotSupported;
}

#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
if (mime_type_lower_case == "video/mp2t") {
std::vector<std::string> codecs_to_check;
for (const auto& codec_id : codecs) {
Expand Down
3 changes: 2 additions & 1 deletion media/base/mime_util_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
#include "base/strings/string_split.h"
#include "build/build_config.h"
#include "media/base/mime_util.h"
#include "media/media_features.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace media {
Expand Down Expand Up @@ -51,7 +52,7 @@ TEST(MimeUtilTest, CommonMediaMimeType) {
EXPECT_TRUE(IsSupportedMediaMimeType("audio/mpeg"));
EXPECT_TRUE(IsSupportedMediaMimeType("audio/aac"));

#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
EXPECT_TRUE(IsSupportedMediaMimeType("video/mp2t"));
#else
EXPECT_FALSE(IsSupportedMediaMimeType("video/mp2t"));
Expand Down
5 changes: 4 additions & 1 deletion media/filters/chunk_demuxer_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include "media/base/timestamp_constants.h"
#include "media/formats/webm/cluster_builder.h"
#include "media/formats/webm/webm_constants.h"
#include "media/media_features.h"
#include "testing/gtest/include/gtest/gtest.h"

using ::testing::AnyNumber;
Expand Down Expand Up @@ -362,13 +363,15 @@ class ChunkDemuxerTest : public ::testing::Test {
return demuxer_->AddId(source_id, type, codecs);
}

#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
ChunkDemuxer::Status AddIdForMp2tSource(const std::string& source_id) {
std::vector<std::string> codecs;
std::string type = "video/mp2t";
codecs.push_back("mp4a.40.2");
codecs.push_back("avc1.640028");
return demuxer_->AddId(source_id, type, codecs);
}
#endif

void AppendData(const uint8_t* data, size_t length) {
AppendData(kSourceId, data, length);
Expand Down Expand Up @@ -3047,7 +3050,7 @@ TEST_F(ChunkDemuxerTest, IsParsingMediaSegmentMidMediaSegment) {
}

#if defined(USE_PROPRIETARY_CODECS)
#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
TEST_F(ChunkDemuxerTest, EmitBuffersDuringAbort) {
EXPECT_CALL(*this, DemuxerOpened());
demuxer_->Initialize(
Expand Down
22 changes: 11 additions & 11 deletions media/filters/stream_parser_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@
#include "media/formats/mpeg/adts_stream_parser.h"
#include "media/formats/mpeg/mpeg1_audio_stream_parser.h"
#include "media/formats/webm/webm_stream_parser.h"
#include "media/media_features.h"

#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif

#if defined(USE_PROPRIETARY_CODECS)
#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
#include "media/formats/mp2t/mp2t_stream_parser.h"
#endif
#include "media/formats/mp4/es_descriptor.h"
Expand Down Expand Up @@ -235,7 +236,7 @@ static StreamParser* BuildADTSParser(const std::vector<std::string>& codecs,
return new ADTSStreamParser();
}

#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
static const CodecInfo* kVideoMP2TCodecs[] = {
&kH264AVC1CodecInfo,
&kH264AVC3CodecInfo,
Expand Down Expand Up @@ -263,17 +264,16 @@ static StreamParser* BuildMP2TParser(const std::vector<std::string>& codecs,
#endif
#endif


static const SupportedTypeInfo kSupportedTypeInfo[] = {
{ "video/webm", &BuildWebMParser, kVideoWebMCodecs },
{ "audio/webm", &BuildWebMParser, kAudioWebMCodecs },
{"video/webm", &BuildWebMParser, kVideoWebMCodecs},
{"audio/webm", &BuildWebMParser, kAudioWebMCodecs},
#if defined(USE_PROPRIETARY_CODECS)
{ "audio/aac", &BuildADTSParser, kAudioADTSCodecs },
{ "audio/mpeg", &BuildMP3Parser, kAudioMP3Codecs },
{ "video/mp4", &BuildMP4Parser, kVideoMP4Codecs },
{ "audio/mp4", &BuildMP4Parser, kAudioMP4Codecs },
#if defined(ENABLE_MPEG2TS_STREAM_PARSER)
{ "video/mp2t", &BuildMP2TParser, kVideoMP2TCodecs },
{"audio/aac", &BuildADTSParser, kAudioADTSCodecs},
{"audio/mpeg", &BuildMP3Parser, kAudioMP3Codecs},
{"video/mp4", &BuildMP4Parser, kVideoMP4Codecs},
{"audio/mp4", &BuildMP4Parser, kAudioMP4Codecs},
#if BUILDFLAG(ENABLE_MSE_MPEG2TS_STREAM_PARSER)
{"video/mp2t", &BuildMP2TParser, kVideoMP2TCodecs},
#endif
#endif
};
Expand Down
Loading

0 comments on commit 2a41135

Please sign in to comment.