solutions = [{
'managed' : False,
'name' : 'src',
- 'url' : 'ssh://165.213.202.130:29418/webplatform/s-chromium.git@dev/m38_2114',
+ 'url' : 'ssh://165.213.202.130:29418/webplatform/s-chromium.git@dev/m38_2121',
'custom_deps' : {
'src/third_party/WebKit':None,
'src/sbrowser':None,
# source common functions and vars
. `dirname ${BASH_SOURCE[0]}`/common.sh
-cp $EFL_WEBVIEW_DIR/build/patched_files/arm-neon-config.h ${CHROME_SRC}/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h
-cp $EFL_WEBVIEW_DIR/build/patched_files/arm-config.h ${CHROME_SRC}/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
-cp $EFL_WEBVIEW_DIR/build/patched_files/incoming_video_stream.cc ${CHROME_SRC}/third_party/webrtc/modules/video_render/
+PATCHED_DIR=$EFL_WEBVIEW_DIR/build/patched_files
+
+cp $PATCHED_DIR/arm-neon-config.h ${CHROME_SRC}/third_party/ffmpeg/chromium/config/Chromium/linux/arm-neon/config.h
+cp $PATCHED_DIR/arm-config.h ${CHROME_SRC}/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
+cp $PATCHED_DIR/incoming_video_stream.cc ${CHROME_SRC}/third_party/webrtc/modules/video_render/
+cp $PATCHED_DIR/rtp_format_h264.cc ${CHROME_SRC}/third_party/webrtc/modules/rtp_rtcp/source/
DEFINES+=" host_os=${host_os} host_arch=${host_arch} python_ver=${python_ver}"
DEFINES+=" use_libjpeg_turbo=0 proprietary_codecs=1"
DEFINES+=" use_xi2_mt=2 toolkit_uses_gtk=0 use_aura=1 toolkit_efl=1"
-DEFINES+=" use_gstreamer=1"
+DEFINES+=" use_gstreamer=1 clang=0 host_clang=0"
echo "[M37] TODO: Fix and re-enable notifications (edit build/envsetup.sh)"
DEFINES+=" notifications=0"
#define CONFIG_THIS_YEAR 2014
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-#define CC_IDENT "gcc 4.8.x-google (4.8.2_cos_gg_38c6bf0_4.8.2-r70) 20140307 (prerelease)"
+#define CC_IDENT "gcc 4.8.x-google (4.8.2_cos_gg_38c6bf0_4.8.2-r74) 20140307 (prerelease)"
#define av_restrict restrict
#define EXTERN_PREFIX ""
#define EXTERN_ASM
#define BUILDSUF ""
#define SLIBSUF ".so"
#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
#define ARCH_AARCH64 0
#define ARCH_ALPHA 0
#define ARCH_ARM 1
#define HAVE_DCBZL 1
#define HAVE_LDBRX 1
#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
#define HAVE_AMD3DNOW 0
#define HAVE_AMD3DNOWEXT 0
#define HAVE_AVX 0
#define HAVE_DCBZL_EXTERNAL 0
#define HAVE_LDBRX_EXTERNAL 0
#define HAVE_PPC4XX_EXTERNAL 0
+#define HAVE_VSX_EXTERNAL 0
#define HAVE_AMD3DNOW_EXTERNAL 0
#define HAVE_AMD3DNOWEXT_EXTERNAL 0
#define HAVE_AVX_EXTERNAL 0
#define HAVE_DCBZL_INLINE 0
#define HAVE_LDBRX_INLINE 0
#define HAVE_PPC4XX_INLINE 0
+#define HAVE_VSX_INLINE 0
#define HAVE_AMD3DNOW_INLINE 0
#define HAVE_AMD3DNOWEXT_INLINE 0
#define HAVE_AVX_INLINE 0
#define HAVE_LOCAL_ALIGNED_8 0
#define HAVE_LOCAL_ALIGNED_16 0
#define HAVE_LOCAL_ALIGNED_32 0
+#define HAVE_SIMD_ALIGN_16 0
#define HAVE_ATOMICS_GCC 1
#define HAVE_ATOMICS_SUNCC 0
#define HAVE_ATOMICS_WIN32 0
#define HAVE_UNISTD_H 1
#define HAVE_WINDOWS_H 0
#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 0
#define HAVE_ATANF 1
#define HAVE_ATAN2F 1
#define HAVE_CBRT 1
#define HAVE_EXP2 1
#define HAVE_EXP2F 1
#define HAVE_EXPF 1
+#define HAVE_FMINF 1
#define HAVE_ISINF 1
#define HAVE_ISNAN 1
#define HAVE_LDEXPF 1
#define HAVE_PTHREADS 1
#define HAVE_OS2THREADS 0
#define HAVE_W32THREADS 0
+#define HAVE_AS_DN_DIRECTIVE 1
+#define HAVE_AS_FUNC 1
#define HAVE_ASM_MOD_Q 1
#define HAVE_ATTRIBUTE_MAY_ALIAS 1
#define HAVE_ATTRIBUTE_PACKED 1
#define CONFIG_LIBFLITE 0
#define CONFIG_LIBFONTCONFIG 0
#define CONFIG_LIBFREETYPE 0
+#define CONFIG_LIBFRIBIDI 0
#define CONFIG_LIBGME 0
#define CONFIG_LIBGSM 0
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBRTMP 0
#define CONFIG_LIBSCHROEDINGER 0
#define CONFIG_LIBSHINE 0
+#define CONFIG_LIBSMBCLIENT 0
#define CONFIG_LIBSOXR 0
#define CONFIG_LIBSPEEX 0
#define CONFIG_LIBSSH 0
#define CONFIG_AANDCTTABLES 0
#define CONFIG_AC3DSP 0
#define CONFIG_AUDIO_FRAME_QUEUE 0
+#define CONFIG_AUDIODSP 0
+#define CONFIG_BLOCKDSP 0
+#define CONFIG_BSWAPDSP 0
#define CONFIG_CABAC 0
-#define CONFIG_DSPUTIL 0
+#define CONFIG_DVPROFILE 0
#define CONFIG_EXIF 0
+#define CONFIG_FDCTDSP 0
#define CONFIG_FRAME_THREAD_ENCODER 0
#define CONFIG_GCRYPT 0
#define CONFIG_GOLOMB 1
#define CONFIG_H264QPEL 0
#define CONFIG_HPELDSP 1
#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
#define CONFIG_INTRAX8 0
#define CONFIG_LGPLV3 0
+#define CONFIG_LLAUDDSP 0
#define CONFIG_LLVIDDSP 0
#define CONFIG_LPC 0
+#define CONFIG_ME_CMP 0
+#define CONFIG_MPEG_ER 0
#define CONFIG_MPEGAUDIO 0
#define CONFIG_MPEGAUDIODSP 0
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_NETTLE 0
+#define CONFIG_PIXBLOCKDSP 0
+#define CONFIG_QPELDSP 0
#define CONFIG_RANGECODER 0
#define CONFIG_RIFFDEC 1
#define CONFIG_RIFFENC 0
#define CONFIG_FLAC_DEMUXER 0
#define CONFIG_FLIC_DEMUXER 0
#define CONFIG_FLV_DEMUXER 0
+#define CONFIG_LIVE_FLV_DEMUXER 0
#define CONFIG_FOURXM_DEMUXER 0
#define CONFIG_FRM_DEMUXER 0
#define CONFIG_G722_DEMUXER 0
#define CONFIG_LATM_DEMUXER 0
#define CONFIG_LMLM4_DEMUXER 0
#define CONFIG_LOAS_DEMUXER 0
+#define CONFIG_LRC_DEMUXER 0
#define CONFIG_LVF_DEMUXER 0
#define CONFIG_LXF_DEMUXER 0
#define CONFIG_M4V_DEMUXER 0
#define CONFIG_SEGAFILM_DEMUXER 0
#define CONFIG_SHORTEN_DEMUXER 0
#define CONFIG_SIFF_DEMUXER 0
+#define CONFIG_SLN_DEMUXER 0
#define CONFIG_SMACKER_DEMUXER 0
#define CONFIG_SMJPEG_DEMUXER 0
#define CONFIG_SMUSH_DEMUXER 0
#define CONFIG_W64_DEMUXER 0
#define CONFIG_WAV_DEMUXER 1
#define CONFIG_WC3_DEMUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_XWMA_DEMUXER 0
#define CONFIG_YOP_DEMUXER 0
#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
#define CONFIG_LIBGME_DEMUXER 0
#define CONFIG_LIBMODPLUG_DEMUXER 0
#define CONFIG_LIBNUT_DEMUXER 0
#define CONFIG_MOVTEXT_ENCODER 0
#define CONFIG_SRT_ENCODER 0
#define CONFIG_SUBRIP_ENCODER 0
+#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_EARWAX_FILTER 0
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
+#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_HISTEQ_FILTER 0
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
+#define CONFIG_HQX_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
#define CONFIG_IL_FILTER 0
#define CONFIG_SETTB_FILTER 0
#define CONFIG_SHOWINFO_FILTER 0
#define CONFIG_SHUFFLEPLANES_FILTER 0
+#define CONFIG_SIGNALSTATS_FILTER 0
#define CONFIG_SMARTBLUR_FILTER 0
#define CONFIG_SPLIT_FILTER 0
#define CONFIG_SPP_FILTER 0
#define CONFIG_W3FDIF_FILTER 0
#define CONFIG_YADIF_FILTER 0
#define CONFIG_ZMQ_FILTER 0
+#define CONFIG_ZOOMPAN_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_NULLSINK_FILTER 0
#define CONFIG_AVECTORSCOPE_FILTER 0
#define CONFIG_CONCAT_FILTER 0
+#define CONFIG_SHOWCQT_FILTER 0
#define CONFIG_SHOWSPECTRUM_FILTER 0
#define CONFIG_SHOWWAVES_FILTER 0
#define CONFIG_AMOVIE_FILTER 0
#define CONFIG_IVF_MUXER 0
#define CONFIG_JACOSUB_MUXER 0
#define CONFIG_LATM_MUXER 0
+#define CONFIG_LRC_MUXER 0
#define CONFIG_M4V_MUXER 0
#define CONFIG_MD5_MUXER 0
#define CONFIG_MATROSKA_MUXER 0
#define CONFIG_W64_MUXER 0
#define CONFIG_WAV_MUXER 0
#define CONFIG_WEBM_MUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
#define CONFIG_WEBVTT_MUXER 0
#define CONFIG_WTV_MUXER 0
#define CONFIG_WV_MUXER 0
#define CONFIG_LIBRTMPT_PROTOCOL 0
#define CONFIG_LIBRTMPTE_PROTOCOL 0
#define CONFIG_LIBSSH_PROTOCOL 0
+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
#endif /* FFMPEG_CONFIG_H */
#define CONFIG_THIS_YEAR 2014
#define FFMPEG_DATADIR "/usr/local/share/ffmpeg"
#define AVCONV_DATADIR "/usr/local/share/ffmpeg"
-#define CC_IDENT "gcc 4.8.x-google (4.8.2_cos_gg_38c6bf0_4.8.2-r70) 20140307 (prerelease)"
+#define CC_IDENT "gcc 4.8.x-google (4.8.2_cos_gg_38c6bf0_4.8.2-r74) 20140307 (prerelease)"
#define av_restrict restrict
#define EXTERN_PREFIX ""
#define EXTERN_ASM
#define BUILDSUF ""
#define SLIBSUF ".so"
#define HAVE_MMX2 HAVE_MMXEXT
+#define SWS_MAX_FILTER_SIZE 256
#define ARCH_AARCH64 0
#define ARCH_ALPHA 0
#define ARCH_ARM 1
#define HAVE_DCBZL 1
#define HAVE_LDBRX 1
#define HAVE_PPC4XX 0
+#define HAVE_VSX 0
#define HAVE_AMD3DNOW 0
#define HAVE_AMD3DNOWEXT 0
#define HAVE_AVX 0
#define HAVE_DCBZL_EXTERNAL 0
#define HAVE_LDBRX_EXTERNAL 0
#define HAVE_PPC4XX_EXTERNAL 0
+#define HAVE_VSX_EXTERNAL 0
#define HAVE_AMD3DNOW_EXTERNAL 0
#define HAVE_AMD3DNOWEXT_EXTERNAL 0
#define HAVE_AVX_EXTERNAL 0
#define HAVE_DCBZL_INLINE 0
#define HAVE_LDBRX_INLINE 0
#define HAVE_PPC4XX_INLINE 0
+#define HAVE_VSX_INLINE 0
#define HAVE_AMD3DNOW_INLINE 0
#define HAVE_AMD3DNOWEXT_INLINE 0
#define HAVE_AVX_INLINE 0
#define HAVE_LOCAL_ALIGNED_8 0
#define HAVE_LOCAL_ALIGNED_16 0
#define HAVE_LOCAL_ALIGNED_32 0
+#define HAVE_SIMD_ALIGN_16 1
#define HAVE_ATOMICS_GCC 1
#define HAVE_ATOMICS_SUNCC 0
#define HAVE_ATOMICS_WIN32 0
#define HAVE_UNISTD_H 1
#define HAVE_WINDOWS_H 0
#define HAVE_WINSOCK2_H 0
+#define HAVE_INTRINSICS_NEON 1
#define HAVE_ATANF 1
#define HAVE_ATAN2F 1
#define HAVE_CBRT 1
#define HAVE_EXP2 1
#define HAVE_EXP2F 1
#define HAVE_EXPF 1
+#define HAVE_FMINF 1
#define HAVE_ISINF 1
#define HAVE_ISNAN 1
#define HAVE_LDEXPF 1
#define HAVE_PTHREADS 1
#define HAVE_OS2THREADS 0
#define HAVE_W32THREADS 0
+#define HAVE_AS_DN_DIRECTIVE 1
+#define HAVE_AS_FUNC 1
#define HAVE_ASM_MOD_Q 1
#define HAVE_ATTRIBUTE_MAY_ALIAS 1
#define HAVE_ATTRIBUTE_PACKED 1
#define CONFIG_LIBFLITE 0
#define CONFIG_LIBFONTCONFIG 0
#define CONFIG_LIBFREETYPE 0
+#define CONFIG_LIBFRIBIDI 0
#define CONFIG_LIBGME 0
#define CONFIG_LIBGSM 0
#define CONFIG_LIBIEC61883 0
#define CONFIG_LIBRTMP 0
#define CONFIG_LIBSCHROEDINGER 0
#define CONFIG_LIBSHINE 0
+#define CONFIG_LIBSMBCLIENT 0
#define CONFIG_LIBSOXR 0
#define CONFIG_LIBSPEEX 0
#define CONFIG_LIBSSH 0
#define CONFIG_AANDCTTABLES 0
#define CONFIG_AC3DSP 0
#define CONFIG_AUDIO_FRAME_QUEUE 0
+#define CONFIG_AUDIODSP 0
+#define CONFIG_BLOCKDSP 0
+#define CONFIG_BSWAPDSP 0
#define CONFIG_CABAC 0
-#define CONFIG_DSPUTIL 0
+#define CONFIG_DVPROFILE 0
#define CONFIG_EXIF 0
+#define CONFIG_FDCTDSP 0
#define CONFIG_FRAME_THREAD_ENCODER 0
#define CONFIG_GCRYPT 0
#define CONFIG_GOLOMB 1
#define CONFIG_H264QPEL 0
#define CONFIG_HPELDSP 1
#define CONFIG_HUFFMAN 0
+#define CONFIG_HUFFYUVDSP 0
+#define CONFIG_HUFFYUVENCDSP 0
+#define CONFIG_IDCTDSP 0
+#define CONFIG_IIRFILTER 0
#define CONFIG_INTRAX8 0
#define CONFIG_LGPLV3 0
+#define CONFIG_LLAUDDSP 0
#define CONFIG_LLVIDDSP 0
#define CONFIG_LPC 0
+#define CONFIG_ME_CMP 0
+#define CONFIG_MPEG_ER 0
#define CONFIG_MPEGAUDIO 0
#define CONFIG_MPEGAUDIODSP 0
#define CONFIG_MPEGVIDEO 0
#define CONFIG_MPEGVIDEOENC 0
#define CONFIG_NETTLE 0
+#define CONFIG_PIXBLOCKDSP 0
+#define CONFIG_QPELDSP 0
#define CONFIG_RANGECODER 0
#define CONFIG_RIFFDEC 1
#define CONFIG_RIFFENC 0
#define CONFIG_FLAC_DEMUXER 0
#define CONFIG_FLIC_DEMUXER 0
#define CONFIG_FLV_DEMUXER 0
+#define CONFIG_LIVE_FLV_DEMUXER 0
#define CONFIG_FOURXM_DEMUXER 0
#define CONFIG_FRM_DEMUXER 0
#define CONFIG_G722_DEMUXER 0
#define CONFIG_LATM_DEMUXER 0
#define CONFIG_LMLM4_DEMUXER 0
#define CONFIG_LOAS_DEMUXER 0
+#define CONFIG_LRC_DEMUXER 0
#define CONFIG_LVF_DEMUXER 0
#define CONFIG_LXF_DEMUXER 0
#define CONFIG_M4V_DEMUXER 0
#define CONFIG_SEGAFILM_DEMUXER 0
#define CONFIG_SHORTEN_DEMUXER 0
#define CONFIG_SIFF_DEMUXER 0
+#define CONFIG_SLN_DEMUXER 0
#define CONFIG_SMACKER_DEMUXER 0
#define CONFIG_SMJPEG_DEMUXER 0
#define CONFIG_SMUSH_DEMUXER 0
#define CONFIG_W64_DEMUXER 0
#define CONFIG_WAV_DEMUXER 1
#define CONFIG_WC3_DEMUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_DEMUXER 0
#define CONFIG_WEBVTT_DEMUXER 0
#define CONFIG_WSAUD_DEMUXER 0
#define CONFIG_WSVQA_DEMUXER 0
#define CONFIG_XWMA_DEMUXER 0
#define CONFIG_YOP_DEMUXER 0
#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
+#define CONFIG_IMAGE_BMP_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_DPX_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_EXR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_J2K_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PICTOR_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_PNG_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SGI_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_SUNRAST_PIPE_DEMUXER 0
+#define CONFIG_IMAGE_TIFF_PIPE_DEMUXER 0
#define CONFIG_LIBGME_DEMUXER 0
#define CONFIG_LIBMODPLUG_DEMUXER 0
#define CONFIG_LIBNUT_DEMUXER 0
#define CONFIG_MOVTEXT_ENCODER 0
#define CONFIG_SRT_ENCODER 0
#define CONFIG_SUBRIP_ENCODER 0
+#define CONFIG_WEBVTT_ENCODER 0
#define CONFIG_XSUB_ENCODER 0
#define CONFIG_LIBFAAC_ENCODER 0
#define CONFIG_LIBFDK_AAC_ENCODER 0
#define CONFIG_EARWAX_FILTER 0
#define CONFIG_EBUR128_FILTER 0
#define CONFIG_EQUALIZER_FILTER 0
+#define CONFIG_FLANGER_FILTER 0
#define CONFIG_HIGHPASS_FILTER 0
#define CONFIG_JOIN_FILTER 0
#define CONFIG_LADSPA_FILTER 0
#define CONFIG_HISTEQ_FILTER 0
#define CONFIG_HISTOGRAM_FILTER 0
#define CONFIG_HQDN3D_FILTER 0
+#define CONFIG_HQX_FILTER 0
#define CONFIG_HUE_FILTER 0
#define CONFIG_IDET_FILTER 0
#define CONFIG_IL_FILTER 0
#define CONFIG_SETTB_FILTER 0
#define CONFIG_SHOWINFO_FILTER 0
#define CONFIG_SHUFFLEPLANES_FILTER 0
+#define CONFIG_SIGNALSTATS_FILTER 0
#define CONFIG_SMARTBLUR_FILTER 0
#define CONFIG_SPLIT_FILTER 0
#define CONFIG_SPP_FILTER 0
#define CONFIG_W3FDIF_FILTER 0
#define CONFIG_YADIF_FILTER 0
#define CONFIG_ZMQ_FILTER 0
+#define CONFIG_ZOOMPAN_FILTER 0
#define CONFIG_CELLAUTO_FILTER 0
#define CONFIG_COLOR_FILTER 0
#define CONFIG_FREI0R_SRC_FILTER 0
#define CONFIG_NULLSINK_FILTER 0
#define CONFIG_AVECTORSCOPE_FILTER 0
#define CONFIG_CONCAT_FILTER 0
+#define CONFIG_SHOWCQT_FILTER 0
#define CONFIG_SHOWSPECTRUM_FILTER 0
#define CONFIG_SHOWWAVES_FILTER 0
#define CONFIG_AMOVIE_FILTER 0
#define CONFIG_IVF_MUXER 0
#define CONFIG_JACOSUB_MUXER 0
#define CONFIG_LATM_MUXER 0
+#define CONFIG_LRC_MUXER 0
#define CONFIG_M4V_MUXER 0
#define CONFIG_MD5_MUXER 0
#define CONFIG_MATROSKA_MUXER 0
#define CONFIG_W64_MUXER 0
#define CONFIG_WAV_MUXER 0
#define CONFIG_WEBM_MUXER 0
+#define CONFIG_WEBM_DASH_MANIFEST_MUXER 0
#define CONFIG_WEBVTT_MUXER 0
#define CONFIG_WTV_MUXER 0
#define CONFIG_WV_MUXER 0
#define CONFIG_LIBRTMPT_PROTOCOL 0
#define CONFIG_LIBRTMPTE_PROTOCOL 0
#define CONFIG_LIBSSH_PROTOCOL 0
+#define CONFIG_LIBSMBCLIENT_PROTOCOL 0
#endif /* FFMPEG_CONFIG_H */
--- /dev/null
+/*
+ * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#include <string.h>
+
+#include "webrtc/modules/interface/module_common_types.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_format_h264.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
+
+namespace webrtc {
+namespace {
+
+enum Nalu {
+ kSlice = 1,
+ kIdr = 5,
+ kSei = 6,
+ kSps = 7,
+ kPps = 8,
+ kStapA = 24,
+ kFuA = 28
+};
+
+static const size_t kNalHeaderSize = 1;
+static const size_t kFuAHeaderSize = 2;
+
+// Bit masks for FU (A and B) indicators.
+enum NalDefs { kFBit = 0x80, kNriMask = 0x60, kTypeMask = 0x1F };
+
+// Bit masks for FU (A and B) headers.
+enum FuDefs { kSBit = 0x80, kEBit = 0x40, kRBit = 0x20 };
+
+void ParseSingleNalu(WebRtcRTPHeader* rtp_header,
+ const uint8_t* payload_data,
+ size_t payload_data_length) {
+ rtp_header->type.Video.codec = kRtpVideoH264;
+ rtp_header->type.Video.isFirstPacket = true;
+ RTPVideoHeaderH264* h264_header = &rtp_header->type.Video.codecHeader.H264;
+ h264_header->single_nalu = true;
+ h264_header->stap_a = false;
+
+ uint8_t nal_type = payload_data[0] & kTypeMask;
+ if (nal_type == kStapA) {
+ nal_type = payload_data[3] & kTypeMask;
+ h264_header->stap_a = true;
+ }
+
+ switch (nal_type) {
+ case kSps:
+ case kPps:
+ case kIdr:
+ rtp_header->frameType = kVideoFrameKey;
+ break;
+ default:
+ rtp_header->frameType = kVideoFrameDelta;
+ break;
+ }
+}
+
+void ParseFuaNalu(WebRtcRTPHeader* rtp_header,
+ const uint8_t* payload_data,
+ size_t payload_data_length,
+ size_t* offset) {
+ uint8_t fnri = payload_data[0] & (kFBit | kNriMask);
+ uint8_t original_nal_type = payload_data[1] & kTypeMask;
+ bool first_fragment = (payload_data[1] & kSBit) > 0;
+
+ uint8_t original_nal_header = fnri | original_nal_type;
+ if (first_fragment) {
+ *offset = kNalHeaderSize;
+ uint8_t* payload = const_cast<uint8_t*>(payload_data + *offset);
+ payload[0] = original_nal_header;
+ } else {
+ *offset = kFuAHeaderSize;
+ }
+
+ if (original_nal_type == kIdr) {
+ rtp_header->frameType = kVideoFrameKey;
+ } else {
+ rtp_header->frameType = kVideoFrameDelta;
+ }
+ rtp_header->type.Video.codec = kRtpVideoH264;
+ rtp_header->type.Video.isFirstPacket = first_fragment;
+ RTPVideoHeaderH264* h264_header = &rtp_header->type.Video.codecHeader.H264;
+ h264_header->single_nalu = false;
+ h264_header->stap_a = false;
+}
+} // namespace
+
+RtpPacketizerH264::RtpPacketizerH264(size_t max_payload_len)
+ : payload_data_(NULL), payload_size_(0), max_payload_len_(max_payload_len) {
+}
+
+RtpPacketizerH264::~RtpPacketizerH264() {
+}
+
+void RtpPacketizerH264::SetPayloadData(
+ const uint8_t* payload_data,
+ size_t payload_size,
+ const RTPFragmentationHeader* fragmentation) {
+ assert(packets_.empty());
+ assert(fragmentation);
+ payload_data_ = payload_data;
+ payload_size_ = payload_size;
+ fragmentation_.CopyFrom(*fragmentation);
+ GeneratePackets();
+}
+
+void RtpPacketizerH264::GeneratePackets() {
+ for (size_t i = 0; i < fragmentation_.fragmentationVectorSize;) {
+ size_t fragment_offset = fragmentation_.fragmentationOffset[i];
+ size_t fragment_length = fragmentation_.fragmentationLength[i];
+ if (fragment_length > max_payload_len_) {
+ PacketizeFuA(fragment_offset, fragment_length);
+ ++i;
+ } else {
+ i = PacketizeStapA(i, fragment_offset, fragment_length);
+ }
+ }
+}
+
+void RtpPacketizerH264::PacketizeFuA(size_t fragment_offset,
+ size_t fragment_length) {
+ // Fragment payload into packets (FU-A).
+ // Strip out the original header and leave room for the FU-A header.
+ fragment_length -= kNalHeaderSize;
+ size_t offset = fragment_offset + kNalHeaderSize;
+ size_t bytes_available = max_payload_len_ - kFuAHeaderSize;
+ size_t fragments =
+ (fragment_length + (bytes_available - 1)) / bytes_available;
+ size_t avg_size = (fragment_length + fragments - 1) / fragments;
+ while (fragment_length > 0) {
+ size_t packet_length = avg_size;
+ if (fragment_length < avg_size)
+ packet_length = fragment_length;
+ uint8_t header = payload_data_[fragment_offset];
+ packets_.push(Packet(offset,
+ packet_length,
+ offset - kNalHeaderSize == fragment_offset,
+ fragment_length == packet_length,
+ false,
+ header));
+ offset += packet_length;
+ fragment_length -= packet_length;
+ }
+}
+
+int RtpPacketizerH264::PacketizeStapA(size_t fragment_index,
+ size_t fragment_offset,
+ size_t fragment_length) {
+ // Aggregate fragments into one packet (STAP-A).
+ size_t payload_size_left = max_payload_len_;
+ int aggregated_fragments = 0;
+ assert(payload_size_left >= fragment_length);
+ while (payload_size_left >= fragment_length) {
+ if (fragment_length > 0) {
+ assert(fragment_length > 0);
+ uint8_t header = payload_data_[fragment_offset];
+ packets_.push(Packet(fragment_offset,
+ fragment_length,
+ aggregated_fragments == 0,
+ false,
+ true,
+ header));
+ // If we are going to try to aggregate more fragments into this packet
+ // we need to add the STAP-A NALU header.
+ if (aggregated_fragments == 0)
+ payload_size_left -= kNalHeaderSize;
+ payload_size_left -= fragment_length;
+ ++aggregated_fragments;
+ }
+ // Next fragment.
+ ++fragment_index;
+ if (fragment_index == fragmentation_.fragmentationVectorSize)
+ break;
+ fragment_offset = fragmentation_.fragmentationOffset[fragment_index];
+ fragment_length = fragmentation_.fragmentationLength[fragment_index];
+ }
+ packets_.back().last_fragment = true;
+ return fragment_index;
+}
+
+bool RtpPacketizerH264::NextPacket(uint8_t* buffer,
+ size_t* bytes_to_send,
+ bool* last_packet) {
+ *bytes_to_send = 0;
+ if (packets_.empty()) {
+ *bytes_to_send = 0;
+ *last_packet = true;
+ return false;
+ }
+
+ Packet packet = packets_.front();
+
+ if (packet.first_fragment && packet.last_fragment) {
+ // Single NAL unit packet.
+ *bytes_to_send = packet.size;
+ memcpy(buffer, &payload_data_[packet.offset], packet.size);
+ packets_.pop();
+ } else if (packet.aggregated) {
+ NextAggregatePacket(buffer, bytes_to_send);
+ } else {
+ NextFragmentPacket(buffer, bytes_to_send);
+ }
+ *last_packet = packets_.empty();
+ assert(*bytes_to_send <= max_payload_len_);
+ return true;
+}
+
+void RtpPacketizerH264::NextAggregatePacket(uint8_t* buffer,
+ size_t* bytes_to_send) {
+ Packet packet = packets_.front();
+ assert(packet.first_fragment);
+ // STAP-A NALU header.
+ buffer[0] = (packet.header & (kFBit | kNriMask)) | kStapA;
+ int index = kNalHeaderSize;
+ *bytes_to_send += kNalHeaderSize;
+ while (packet.aggregated) {
+ // Add NAL unit length field.
+ RtpUtility::AssignUWord16ToBuffer(&buffer[index], packet.size);
+ index += 2;
+ *bytes_to_send += 2;
+ // Add NAL unit.
+ memcpy(&buffer[index], &payload_data_[packet.offset], packet.size);
+ index += packet.size;
+ *bytes_to_send += packet.size;
+ packets_.pop();
+ if (packet.last_fragment)
+ break;
+ packet = packets_.front();
+ }
+ assert(packet.last_fragment);
+}
+
+void RtpPacketizerH264::NextFragmentPacket(uint8_t* buffer,
+ size_t* bytes_to_send) {
+ Packet packet = packets_.front();
+ // NAL unit fragmented over multiple packets (FU-A).
+ // We do not send original NALU header, so it will be replaced by the
+ // FU indicator header of the first packet.
+ uint8_t fu_indicator = (packet.header & (kFBit | kNriMask)) | kFuA;
+ uint8_t fu_header = 0;
+
+ // S | E | R | 5 bit type.
+ fu_header |= (packet.first_fragment ? kSBit : 0);
+ fu_header |= (packet.last_fragment ? kEBit : 0);
+ uint8_t type = packet.header & kTypeMask;
+ fu_header |= type;
+ buffer[0] = fu_indicator;
+ buffer[1] = fu_header;
+
+ if (packet.last_fragment) {
+ *bytes_to_send = packet.size + kFuAHeaderSize;
+ memcpy(buffer + kFuAHeaderSize, &payload_data_[packet.offset], packet.size);
+ } else {
+ *bytes_to_send = packet.size + kFuAHeaderSize;
+ memcpy(buffer + kFuAHeaderSize, &payload_data_[packet.offset], packet.size);
+ }
+ packets_.pop();
+}
+
+RtpDepacketizerH264::RtpDepacketizerH264(RtpData* const callback)
+ : callback_(callback) {
+}
+
+bool RtpDepacketizerH264::Parse(WebRtcRTPHeader* rtp_header,
+ const uint8_t* payload_data,
+ size_t payload_data_length) {
+ uint8_t nal_type = payload_data[0] & kTypeMask;
+ size_t offset = 0;
+ if (nal_type == kFuA) {
+ // Fragmented NAL units (FU-A).
+ ParseFuaNalu(rtp_header, payload_data, payload_data_length, &offset);
+ } else {
+ // We handle STAP-A and single NALU's the same way here. The jitter buffer
+ // will depacketize the STAP-A into NAL units later.
+ ParseSingleNalu(rtp_header, payload_data, payload_data_length);
+ }
+ if (callback_->OnReceivedPayloadData(payload_data + offset,
+ payload_data_length - offset,
+ rtp_header) != 0) {
+ return false;
+ }
+ return true;
+}
+
+} // namespace webrtc
}
void RenderWidgetHostViewEfl::WasShown() {
- host_->WasShown();
+ host_->WasShown(ui::LatencyInfo());
}
void RenderWidgetHostViewEfl::WasHidden() {
}
void RenderWidgetHostViewEfl::HandleShow() {
- host_->WasShown();
+ host_->WasShown(ui::LatencyInfo());
}
void RenderWidgetHostViewEfl::HandleHide() {
host_->GotFocus();
//Will resume the videos playbacks if any were paused when Application was
// hidden
- host_->WasShown();
+ host_->WasShown(ui::LatencyInfo());
}
void RenderWidgetHostViewEfl::HandleFocusOut() {
void ContentBrowserClientEfl::ShowDesktopNotification(
const content::ShowDesktopNotificationHostMsgParams& params,
content::RenderFrameHost* render_frame_host,
- content::DesktopNotificationDelegate* delegate,
+ scoped_ptr<DesktopNotificationDelegate> delegate,
base::Closure* cancel_callback) {
#if defined(ENABLE_NOTIFICATIONS) && !defined(EWK_BRINGUP)
WebContents* web_contents = WebContentsFromViewID(render_process_id, render_view_id);
virtual void ShowDesktopNotification(
const content::ShowDesktopNotificationHostMsgParams& params,
content::RenderFrameHost* render_frame_host,
- content::DesktopNotificationDelegate* delegate,
+ scoped_ptr<DesktopNotificationDelegate> delegate,
base::Closure* cancel_callback) OVERRIDE;
virtual bool AllowGetCookie(const GURL& url,
Target::Target(WebContents* web_contents) {
agent_host_ =
- DevToolsAgentHost::GetOrCreateFor(web_contents->GetRenderViewHost());
+ DevToolsAgentHost::GetOrCreateFor(web_contents);
id_ = agent_host_->GetId();
title_ = base::UTF16ToUTF8(web_contents->GetTitle());
url_ = web_contents->GetURL();
}
bool Target::Activate() const {
- RenderViewHost* rvh = agent_host_->GetRenderViewHost();
- if (!rvh)
- return false;
- WebContents* web_contents = WebContents::FromRenderViewHost(rvh);
+ WebContents* web_contents = agent_host_->GetWebContents();
if (!web_contents)
return false;
web_contents->GetDelegate()->ActivateContents(web_contents);
}
bool Target::Close() const {
- RenderViewHost* rvh = agent_host_->GetRenderViewHost();
- if (!rvh)
+ WebContents* web_contents = agent_host_->GetWebContents();
+ if (!web_contents)
return false;
- rvh->ClosePage();
+ web_contents->GetRenderViewHost()->ClosePage();
return true;
}
void DevToolsDelegateEfl::EnumerateTargets(TargetCallback callback) {
TargetList targets;
- std::vector<RenderViewHost*> rvh_list =
- content::DevToolsAgentHost::GetValidRenderViewHosts();
- for (std::vector<RenderViewHost*>::iterator it = rvh_list.begin();
- it != rvh_list.end(); ++it) {
- WebContents* web_contents = WebContents::FromRenderViewHost(*it);
- if (web_contents)
- targets.push_back(new Target(web_contents));
+ std::vector<WebContents*> wc_list =
+ DevToolsAgentHost::GetInspectableWebContents();
+ for (std::vector<WebContents*>::iterator it = wc_list.begin();
+ it != wc_list.end();
+ ++it) {
+
+ targets.push_back(new Target(*it));
}
callback.Run(targets);
}
#include "ui/events/event_switches.h"
#include "ui/events/gestures/gesture_recognizer.h"
#include "browser/motion/wkext_motion.h"
-#include "grit/webkit_strings.h"
#include "ui/base/l10n/l10n_util.h"
#include "devtools_delegate_efl.h"
ui::ER_HANDLED : ui::ER_UNHANDLED;
for (ScopedVector<ui::TouchEvent>::const_iterator iter = events.begin(),
end = events.end(); iter != end; ++iter) {
+ if (!ui::GestureRecognizer::Get()->ProcessTouchEventPreDispatch(
+ *(*iter), this)) {
+ continue;
+ }
scoped_ptr<ui::GestureRecognizer::Gestures> gestures(
- gesture_recognizer_->ProcessTouchEventForGesture(*(*iter), result, this));
+ gesture_recognizer_->ProcessTouchEventPostDispatch(*(*iter), result, this));
if (gestures) {
for (size_t j = 0; j < gestures->size(); ++j) {
ui::GestureEvent* event = gestures->get().at(j);
size_t totalBytesInUse = 0, totalBytesCommitted = 0;
+#ifndef EWK_BRINGUP
+ // WTF::fastMallocStatistics() is gone. Find something for replacement.
WTF::FastMallocStatistics fastMallocStatistics = WTF::fastMallocStatistics();
size_t fastMallocBytesInUse = fastMallocStatistics.committedVMBytes - fastMallocStatistics.freeListBytes;
size_t fastMallocBytesCommitted = fastMallocStatistics.committedVMBytes;
totalBytesInUse += fastMallocBytesInUse;
totalBytesCommitted += fastMallocBytesCommitted;
+#endif
values.push_back(now);
values.push_back(applicationStats.UMPSize);
values.push_back(applicationStats.graphics3DSize);
+#ifndef EWK_BRINGUP
values.push_back(totalBytesInUse);
values.push_back(fastMallocBytesInUse);
values.push_back(totalBytesCommitted);
values.push_back(fastMallocBytesCommitted);
-
+#endif
sampleSystemMemoryInfo(values);
if (!values.empty()) {
delete dialog_manager_;
}
-void WebContentsDelegateEfl::NavigationStateChanged(const WebContents* source, unsigned changed_flags) {
+void WebContentsDelegateEfl::NavigationStateChanged(
+ const WebContents* source, InvalidateTypes changed_flags) {
if (changed_flags & content::INVALIDATE_TYPE_URL) {
const char* url = source->GetVisibleURL().spec().c_str();
web_view_->SmartCallback<EWebViewCallbacks::URLChanged>().call(url);
scoped_ptr<_Ewk_Error> error(new _Ewk_Error(error_code,
validated_url.possibly_invalid_spec().c_str(),
error_description.empty() ?
- net::ErrorToString(error_code) :
+ net::ErrorToString(error_code).c_str() :
UTF16ToUTF8(error_description).c_str()));
web_view_->SmartCallback<EWebViewCallbacks::LoadError>().call(error.get());
WebContentsDelegateEfl(EWebView*, WebContents*);
virtual void NavigationStateChanged(const WebContents* source,
- unsigned changed_flags) OVERRIDE;
+ InvalidateTypes changed_flags) OVERRIDE;
virtual void LoadProgressChanged(WebContents* source, double progress) OVERRIDE;
virtual void LoadingStateChanged(WebContents* source,
#!/bin/bash
-BRANCH=dev/m38_2114
+BRANCH=dev/m38_2121
URLBASE='ssh://165.213.202.130:29418/webplatform'
REPOS=( "src|$URLBASE/s-chromium.git" \
"src/third_party/WebKit|$URLBASE/s-blink" \