ported from UXP:

- Issue #61 - Reinstate buildability with shared gkmedias dll (371d7cf05d)
- Issue #61 - Add configure option for non-windows platforms (924bf92e4b)
- Issue #61 - Add missing external symbol cubeb_set_log_callback to gkmedias symbols.def (c85f28b0c0)
- Issue #61 - Add missing external symbols for gkmedias when WebRTC is built (6b510a74e7)
- Issue #61 - Follow-up: Fix gkmedias.dll link bustage related to Skia. (6e2f70a70f)
- Issue #61 - Follow-up: Fix xul.dll link bustage related to Skia. (4584069f26)
This commit is contained in:
2023-08-26 00:00:53 +08:00
parent 002c864a11
commit 61b754e63f
32 changed files with 835 additions and 18 deletions
+3
View File
@@ -82,6 +82,9 @@
@BINPATH@/@DLL_PREFIX@plds4@DLL_SUFFIX@
#endif
#endif
#ifdef GKMEDIAS_SHARED_LIBRARY
@BINPATH@/@DLL_PREFIX@gkmedias@DLL_SUFFIX@
#endif
#ifdef XP_MACOSX
@BINPATH@/XUL
#else
+3
View File
@@ -26,6 +26,9 @@ if CONFIG['HOST_OS_ARCH'] != 'WINNT':
]
HostProgram('nsinstall_real')
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['GKMEDIAS_SHARED_LIBRARY'] = True
if CONFIG['MOZ_SHARED_ICU']:
DEFINES['MOZ_SHARED_ICU'] = True
+16
View File
@@ -1306,6 +1306,22 @@ QtSparql/qsparqlresult.h
#if MOZ_TREE_PIXMAN!=1
pixman.h
#endif
#ifdef GKMEDIAS_SHARED_LIBRARY
vpx/vpx_codec.h
vpx/vpx_decoder.h
vpx/vpx_encoder.h
vpx/vp8cx.h
vpx/vp8dx.h
vpx_mem/vpx_mem.h
vorbis/codec.h
theora/theoradec.h
tremor/ivorbiscodec.h
speex/speex_resampler.h
ogg/ogg.h
ogg/os_types.h
nestegg/nestegg.h
cubeb/cubeb.h
#endif
#if MOZ_NATIVE_LIBVPX==1
vpx/vpx_codec.h
vpx/vpx_decoder.h
+24 -4
View File
@@ -8098,11 +8098,31 @@ dnl =
dnl ========================================================
MOZ_ARG_HEADER(Static build options)
if test -z "$MOZ_NATIVE_ZLIB"; then
if test -n "$JS_SHARED_LIBRARY"; then
ZLIB_IN_MOZGLUE=1
AC_DEFINE(ZLIB_IN_MOZGLUE)
# Option to enable shared gkmedias on other target operating systems.
# This is overriden for Windows regardless if it is set or not.
MOZ_ARG_ENABLE_BOOL(shared-media,
[ --enable-shared-media Build GKMedias as a shared lib],
GKMEDIAS_SHARED_LIBRARY=1,
GKMEDIAS_SHARED_LIBRARY=)
# We want gkmedias always be enabled on Windows regardless of the enable bool.
if test "$OS_ARCH" = "WINNT"; then
GKMEDIAS_SHARED_LIBRARY=1
fi
if test -n "$GKMEDIAS_SHARED_LIBRARY"; then
AC_DEFINE(GKMEDIAS_SHARED_LIBRARY)
fi
AC_SUBST(GKMEDIAS_SHARED_LIBRARY)
# Shared JS or gkmedias needs zlib in mozglue
if test -z "$MOZ_SYSTEM_ZLIB"; then
# XXX: Currently JS_SHARED_LIBRARY lives in mozconfigure
if test -n "$JS_SHARED_LIBRARY" -o "$GKMEDIAS_SHARED_LIBRARY"; then
ZLIB_IN_MOZGLUE=1
AC_DEFINE(ZLIB_IN_MOZGLUE)
fi
fi
AC_SUBST(ZLIB_IN_MOZGLUE)
+3
View File
@@ -127,6 +127,9 @@ IPDL_SOURCES += [
'PGMPVideoEncoder.ipdl',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# comment this out to use Unsafe Shmem for more performance
DEFINES['GMP_SAFE_SHMEM'] = True
+8
View File
@@ -162,6 +162,14 @@ EXPORTS.angle.KHR += [ 'include/KHR/khrplatform.h' ]
LOCAL_INCLUDES += [ 'include', 'src' ]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# This tells ANGLE to build the translator with declspec(dllexport) on Windows
# which we need to get these symbols exported from gkmedias
DEFINES['COMPONENT_BUILD'] = True
DEFINES['ANGLE_TRANSLATOR_IMPLEMENTATION'] = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
+7 -3
View File
@@ -63,9 +63,13 @@ SOURCES += [
'NameTable.cpp',
]
# tell graphite2 not to export symbols, we'll be linking it directly with
# thebes
DEFINES['GRAPHITE2_STATIC'] = True
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
DEFINES['GRAPHITE2_EXPORTING'] = True
else:
# tell graphite2 not to export symbols, we'll be linking it directly with
# thebes
DEFINES['GRAPHITE2_STATIC'] = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
+7
View File
@@ -52,6 +52,9 @@ UNIFIED_SOURCES += [
'vorg.cc',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
@@ -61,6 +64,10 @@ DEFINES['PACKAGE_VERSION'] = '"moz"'
DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"'
DEFINES['OTS_GRAPHITE'] = 1
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['OTS_DLL'] = True
DEFINES['OTS_DLL_EXPORTS'] = True
USE_LIBS += [
'brotli',
'woff2',
+4 -1
View File
@@ -17,7 +17,10 @@ SOURCES += [
'transform_util.c',
]
FINAL_LIBRARY = 'xul'
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
if CONFIG['GNU_CC']:
CFLAGS += ['-Wno-missing-field-initializers']
+4
View File
@@ -96,6 +96,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in {
} or CONFIG['MOZ_WIDGET_GTK']:
DEFINES['SK_FONTHOST_DOES_NOT_USE_FONTMGR'] = 1
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['SKIA_DLL'] = 1
DEFINES['GR_DLL'] = 1
# We should autogenerate these SSE related flags.
if CONFIG['_MSC_VER']:
+6
View File
@@ -587,6 +587,7 @@ if CONFIG['INTEL_ARCHITECTURE'] and CONFIG['GNU_CC'] and CONFIG['OS_ARCH'] != 'W
ALLOW_COMPILER_WARNINGS = True
FINAL_LIBRARY = 'gkmedias'
LOCAL_INCLUDES += [
'skia/include/config',
'skia/include/core',
@@ -625,6 +626,11 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gonk'):
if (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android') or (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa') or (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit') or (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk') or (CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt') or CONFIG['MOZ_WIDGET_GTK']:
DEFINES['SK_FONTHOST_DOES_NOT_USE_FONTMGR'] = 1
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['SKIA_DLL'] = 1
DEFINES['GR_DLL'] = 1
DEFINES['SK_FONT_HOST_USE_SYSTEM_SETTINGS'] = 1
# We should autogenerate these SSE related flags.
if CONFIG['_MSC_VER']:
+1 -1
View File
@@ -205,7 +205,7 @@ protected:
Common() {}
~Common();
bool unflatten(SkReadBuffer&, int expectedInputs = -1);
SK_API bool unflatten(SkReadBuffer&, int expectedInputs = -1);
CropRect cropRect() const { return fCropRect; }
int inputCount() const { return fInputs.count(); }
+3
View File
@@ -13,6 +13,7 @@
#include "SkDrawFilter.h"
#include "SkDrawLooper.h"
#include "SkMetaData.h"
#include "SkNWayCanvas.h"
#include "SkPathOps.h"
#include "SkPicture.h"
#include "SkRasterClip.h"
@@ -28,6 +29,8 @@
#include "GrRenderTarget.h"
#endif
class SkNWayCanvas;
// experimental for faster tiled drawing...
//#define SK_ENABLE_CLIP_QUICKREJECT
+1 -1
View File
@@ -10,7 +10,7 @@
#include "SkImage.h"
class SkImage_Base : public SkImage {
class SK_API SkImage_Base : public SkImage {
public:
SkImage_Base(int width, int height) : INHERITED(width, height) {}
+1 -1
View File
@@ -13,7 +13,7 @@
#include "GrTexture.h"
#include "SkGrPixelRef.h"
class SkImage_Gpu : public SkImage_Base {
class SK_API SkImage_Gpu : public SkImage_Base {
public:
SK_DECLARE_INST_COUNT(SkImage_Gpu)
+3
View File
@@ -308,5 +308,8 @@ LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
DEFINES['GRAPHITE2_STATIC'] = True
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['OTS_DLL'] = True
if CONFIG['OS_ARCH'] == 'WINNT':
del DEFINES['UNICODE']
+11
View File
@@ -0,0 +1,11 @@
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
include $(topsrcdir)/config/rules.mk
ifeq (WINNT,$(OS_TARGET))
symbols.def: symbols.def.in $(GLOBAL_DEPS)
$(call py_action,preprocessor,$(ACDEFINES) $< -o $@)
endif
+12 -5
View File
@@ -7,16 +7,23 @@
with Files('**'):
BUG_COMPONENT = ('Core', 'Video/Audio')
# media/webrtc/signaling/test/common.build uses the gkmedias library,
# expecting at least some of what it contains to be linked, but not libxul,
# so we need to keep an independent pseudo-library, as well as the OS_LIBS
# on Windows for them to propagate there.
Library('gkmedias')
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
GeckoSharedLibrary('gkmedias', linkage=None)
USE_LIBS += [
'nspr',
]
else:
# media/webrtc/signaling/test/common.build uses the gkmedias library,
# expecting at least some of what it contains to be linked, but not libxul,
# so we need to keep an independent pseudo-library, as well as the OS_LIBS
# on Windows for them to propagate there.
Library('gkmedias')
if CONFIG['MOZ_WEBRTC']:
DIRS += ['webrtc']
if CONFIG['OS_TARGET'] == 'WINNT':
DEFFILE = 'symbols.def'
OS_LIBS += [
'usp10',
'ole32',
+675
View File
@@ -0,0 +1,675 @@
;+# This Source Code Form is subject to the terms of the Mozilla Public
;+# License, v. 2.0. If a copy of the MPL was not distributed with this
;+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
LIBRARY gkmedias.dll
EXPORTS
nestegg_destroy
nestegg_duration
nestegg_free_packet
nestegg_init
nestegg_offset_seek
nestegg_packet_count
nestegg_packet_discard_padding
nestegg_packet_data
nestegg_packet_duration
nestegg_packet_track
nestegg_packet_tstamp
nestegg_read_packet
nestegg_track_audio_params
nestegg_track_codec_data
nestegg_track_codec_data_count
nestegg_track_codec_id
nestegg_track_count
nestegg_get_cue_point
nestegg_track_seek
nestegg_track_type
nestegg_track_video_params
nestegg_tstamp_scale
nestegg_has_cues
nestegg_set_halloc_func
nestegg_sniff
#ifdef MOZ_WEBM_ENCODER
writeSimpleBlock
writeHeader
writeSegmentInformation
writeVideoTrack
writeAudioTrack
Ebml_Serialize
Ebml_SerializeUnsigned
Ebml_StartSubElement
Ebml_EndSubElement
#endif
vpx_codec_control_
vpx_codec_dec_init_ver
vpx_codec_decode
vpx_codec_destroy
vpx_codec_err_to_string
vpx_codec_get_frame
vpx_codec_peek_stream_info
vpx_codec_vp8_dx
vpx_codec_vp9_dx
vpx_img_free
vpx_codec_enc_config_set
vpx_codec_enc_init_ver
vpx_codec_vp8_cx
vpx_codec_vp9_cx
vpx_img_set_rect
vpx_img_wrap
vpx_codec_get_cx_data
vpx_codec_enc_config_default
vpx_img_alloc
vpx_codec_encode
#ifdef MOZ_WEBRTC
vpx_codec_set_frame_buffer_functions
vpx_codec_enc_init_multi_ver
#endif
#ifdef MOZ_AV1
aom_codec_av1_dx
aom_codec_dec_init_ver
aom_codec_decode
aom_codec_destroy
aom_codec_err_to_string
aom_codec_get_frame
aom_codec_peek_stream_info
aom_img_alloc
aom_img_free
#endif
#ifdef MOZ_VORBIS
ogg_page_bos
ogg_page_granulepos
ogg_page_serialno
ogg_set_mem_functions
ogg_stream_check
ogg_stream_clear
ogg_stream_eos
ogg_stream_flush
ogg_stream_init
ogg_stream_packetin
ogg_stream_packetout
ogg_stream_pagein
ogg_stream_pageout
ogg_stream_reset
ogg_sync_buffer
ogg_sync_clear
ogg_sync_init
ogg_sync_pageseek
ogg_sync_reset
ogg_sync_wrote
vorbis_analysis
vorbis_analysis_blockout
vorbis_analysis_buffer
vorbis_analysis_init
vorbis_analysis_headerout
vorbis_analysis_wrote
vorbis_block_clear
vorbis_block_init
vorbis_comment_add_tag
vorbis_comment_clear
vorbis_comment_init
vorbis_dsp_clear
vorbis_encode_init_vbr
vorbis_info_clear
vorbis_info_init
vorbis_packet_blocksize
vorbis_synthesis
vorbis_synthesis_blockin
vorbis_synthesis_headerin
vorbis_synthesis_init
vorbis_synthesis_pcmout
vorbis_synthesis_read
vorbis_synthesis_restart
#endif
moz_speex_resampler_init
moz_speex_resampler_destroy
moz_speex_resampler_process_float
moz_speex_resampler_process_interleaved_float
moz_speex_resampler_process_interleaved_int
moz_speex_resampler_set_rate
moz_speex_resampler_get_rate
moz_speex_resampler_get_ratio
moz_speex_resampler_get_input_latency
moz_speex_resampler_get_output_latency
moz_speex_resampler_skip_zeros
moz_speex_resampler_set_skip_frac_num
moz_speex_resampler_reset_mem
cubeb_destroy
#ifdef MOZ_WEBRTC
cubeb_device_collection_destroy
cubeb_enumerate_devices
#endif
cubeb_init
cubeb_get_backend_id
cubeb_get_max_channel_count
cubeb_get_min_latency
cubeb_get_preferred_sample_rate
cubeb_stream_destroy
cubeb_stream_get_position
cubeb_stream_init
cubeb_stream_start
cubeb_stream_stop
cubeb_stream_get_latency
cubeb_stream_set_volume
cubeb_stream_set_panning
cubeb_stream_get_current_device
cubeb_stream_device_destroy
cubeb_stream_register_device_changed_callback
th_comment_clear
th_comment_init
th_decode_alloc
th_decode_free
th_decode_headerin
th_decode_packetin
th_decode_ycbcr_out
th_granule_frame
th_info_clear
th_info_init
th_packet_isheader
th_packet_iskeyframe
th_setup_free
opus_decoder_create
opus_decoder_destroy
opus_decoder_ctl
opus_decoder_get_nb_samples
opus_decode
opus_decode_float
opus_get_version_string
opus_multistream_decoder_create
opus_multistream_decoder_ctl
opus_multistream_decoder_destroy
opus_multistream_decode_float
opus_multistream_decode
opus_packet_get_nb_frames
opus_packet_get_samples_per_frame
opus_encoder_create
opus_encoder_destroy
opus_encoder_ctl
opus_encode
opus_encode_float
#ifdef MOZ_WEBRTC
opus_custom_mode_create
opus_packet_parse
opus_packet_get_nb_channels
downmix_int
run_analysis
#endif
#ifndef MOZ_NATIVE_PNG
MOZ_APNG_get_first_frame_is_hidden
MOZ_APNG_get_next_frame_blend_op
MOZ_APNG_get_next_frame_delay_den
MOZ_APNG_get_next_frame_delay_num
MOZ_APNG_get_next_frame_dispose_op
MOZ_APNG_set_prog_frame_fn
MOZ_APNG_get_next_frame_height
MOZ_APNG_get_next_frame_width
MOZ_APNG_get_next_frame_x_offset
MOZ_APNG_get_next_frame_y_offset
MOZ_APNG_set_acTL
MOZ_APNG_set_first_frame_is_hidden
MOZ_APNG_set_num_plays
MOZ_APNG_write_frame_head
MOZ_APNG_write_frame_tail
MOZ_PNG_cr_info_str
MOZ_PNG_cr_read_str
MOZ_PNG_cr_write_str
MOZ_PNG_dest_read_str
MOZ_PNG_dest_write_str
MOZ_PNG_free_data
MOZ_PNG_get_channels
MOZ_PNG_get_cHRM
MOZ_PNG_get_gAMA
MOZ_PNG_get_IHDR
MOZ_PNG_get_iCCP
MOZ_PNG_get_io_ptr
MOZ_PNG_get_progressive_ptr
MOZ_PNG_get_sRGB
MOZ_PNG_get_tRNS
MOZ_PNG_get_valid
MOZ_PNG_longjmp
MOZ_PNG_process_data
MOZ_PNG_process_data_pause
MOZ_PNG_progressive_combine_row
MOZ_PNG_read_update_info
MOZ_PNG_set_cHRM
MOZ_PNG_set_chunk_malloc_max
MOZ_PNG_set_crc_action
MOZ_PNG_set_gAMA
MOZ_PNG_set_gamma
MOZ_PNG_set_gray_to_rgb
MOZ_PNG_set_expand
MOZ_PNG_set_IHDR
MOZ_PNG_set_interlace_handling
MOZ_PNG_set_longjmp_fn
MOZ_PNG_set_progressive_read_fn
MOZ_PNG_set_scale_16
MOZ_PNG_set_write_fn
MOZ_PNG_write_end
MOZ_PNG_write_info
MOZ_PNG_write_row
#endif
png_set_option
png_error
#ifndef MOZ_NATIVE_JPEG
jpeg_calc_output_dimensions
jpeg_consume_input
jpeg_CreateCompress
jpeg_CreateDecompress
jpeg_destroy_compress
jpeg_destroy_decompress
jpeg_finish_compress
jpeg_finish_decompress
jpeg_finish_output
jpeg_has_multiple_scans
jpeg_input_complete
jpeg_read_header
jpeg_read_scanlines
jpeg_resync_to_restart
jpeg_save_markers
jpeg_set_defaults
jpeg_set_quality
jpeg_start_compress
jpeg_start_decompress
jpeg_start_output
jpeg_std_error
jpeg_write_scanlines
jpeg_write_raw_data
jpeg_stdio_dest
jpeg_abort
jpeg_abort_decompress
jpeg_read_raw_data
#endif
WebPDemuxDelete
WebPDemuxGetChunk
WebPDemuxGetFrame
WebPDemuxGetI
WebPDemuxInternal
WebPDemuxNextFrame
WebPDemuxReleaseChunkIterator
WebPDemuxReleaseIterator
WebPFreeDecBuffer
WebPIAppend
WebPIDecGetRGB
WebPIDelete
WebPINewDecoder
WebPIUpdate
WebPInitDecBufferInternal
qcms_enable_iccv4
qcms_data_from_unicode_path
qcms_data_from_path
qcms_profile_create_rgb_with_gamma
qcms_profile_from_memory
qcms_profile_from_path
qcms_profile_from_unicode_path
qcms_profile_get_color_space
qcms_profile_get_rendering_intent
qcms_profile_is_bogus
qcms_profile_precache_output_transform
qcms_profile_release
qcms_profile_sRGB
qcms_transform_create
qcms_transform_data
qcms_transform_release
MOZ_XMLCheckQName
MOZ_XMLIsLetter
MOZ_XMLIsNCNameChar
MOZ_XMLTranslateEntity
MOZ_XML_ExternalEntityParserCreate
MOZ_XML_GetBase
MOZ_XML_GetCurrentByteIndex
MOZ_XML_GetCurrentColumnNumber
MOZ_XML_GetCurrentLineNumber
MOZ_XML_GetErrorCode
MOZ_XML_GetIdAttributeIndex
MOZ_XML_GetMismatchedTag
MOZ_XML_GetSpecifiedAttributeCount
MOZ_XML_Parse
MOZ_XML_ParserCreate_MM
MOZ_XML_ParserFree
MOZ_XML_ResumeParser
MOZ_XML_SetBase
MOZ_XML_SetCdataSectionHandler
MOZ_XML_SetCharacterDataHandler
MOZ_XML_SetCommentHandler
MOZ_XML_SetDefaultHandlerExpand
MOZ_XML_SetDoctypeDeclHandler
MOZ_XML_SetElementHandler
MOZ_XML_SetExternalEntityRefHandler
MOZ_XML_SetExternalEntityRefHandlerArg
MOZ_XML_SetNamespaceDeclHandler
MOZ_XML_SetNotationDeclHandler
MOZ_XML_SetParamEntityParsing
MOZ_XML_SetProcessingInstructionHandler
MOZ_XML_SetReturnNSTriplet
MOZ_XML_SetUnparsedEntityDeclHandler
MOZ_XML_SetUserData
MOZ_XML_SetXmlDeclHandler
MOZ_XML_StopParser
#ifdef MOZ_TREE_CAIRO
_moz_cairo_append_path
_moz_cairo_arc
_moz_cairo_arc_negative
_moz_cairo_clip
_moz_cairo_clip_extents
_moz_cairo_clip_preserve
_moz_cairo_close_path
_moz_cairo_copy_clip_rectangle_list
_moz_cairo_copy_path
_moz_cairo_copy_path_flat
_moz_cairo_create
_moz_cairo_curve_to
_moz_cairo_d2d_create_device
_moz_cairo_d2d_create_device_from_d3d10device
_moz_cairo_d2d_device_get_device
_moz_cairo_d2d_get_dc
_moz_cairo_d2d_get_image_surface_cache_usage
_moz_cairo_d2d_get_surface_vram_usage
_moz_cairo_d2d_present_backbuffer
_moz_cairo_d2d_release_dc
_moz_cairo_d2d_scroll
_moz_cairo_d2d_surface_create
_moz_cairo_d2d_surface_create_for_handle
_moz_cairo_d2d_surface_create_for_hwnd
_moz_cairo_d2d_surface_create_for_texture
_moz_cairo_d2d_surface_get_height
_moz_cairo_d2d_surface_get_texture
_moz_cairo_d2d_surface_get_width
_moz_cairo_debug_reset_static_data
_moz_cairo_destroy
_moz_cairo_device_to_user
_moz_cairo_device_to_user_distance
_moz_cairo_dwrite_font_face_create_for_dwrite_fontface
_moz_cairo_dwrite_get_cleartype_rendering_mode
_moz_cairo_dwrite_scaled_font_allow_manual_show_glyphs
_moz_cairo_dwrite_scaled_font_get_force_GDI_classic
_moz_cairo_dwrite_scaled_font_set_force_GDI_classic
_moz_cairo_dwrite_set_cleartype_params
_moz_cairo_fill
_moz_cairo_fill_extents
_moz_cairo_fill_preserve
_moz_cairo_font_face_destroy
_moz_cairo_font_options_create
_moz_cairo_font_options_destroy
_moz_cairo_font_options_get_antialias
_moz_cairo_font_options_get_hint_metrics
_moz_cairo_font_options_set_antialias
_moz_cairo_format_stride_for_width
_moz_cairo_get_antialias
_moz_cairo_get_current_point
_moz_cairo_get_dash
_moz_cairo_get_dash_count
_moz_cairo_get_fill_rule
_moz_cairo_get_font_matrix
_moz_cairo_get_font_options
_moz_cairo_get_group_target
_moz_cairo_get_line_cap
_moz_cairo_get_line_join
_moz_cairo_get_line_width
_moz_cairo_get_matrix
_moz_cairo_get_miter_limit
_moz_cairo_get_operator
_moz_cairo_get_scaled_font
_moz_cairo_get_source
_moz_cairo_get_target
_moz_cairo_glyph_extents
_moz_cairo_glyph_path
_moz_cairo_identity_matrix
_moz_cairo_image_surface_create
_moz_cairo_image_surface_create_for_data
_moz_cairo_image_surface_get_data
_moz_cairo_image_surface_get_format
_moz_cairo_image_surface_get_height
_moz_cairo_image_surface_get_stride
_moz_cairo_image_surface_get_width
_moz_cairo_in_fill
_moz_cairo_in_stroke
_moz_cairo_line_to
_moz_cairo_mask
_moz_cairo_mask_surface
_moz_cairo_matrix_init
_moz_cairo_matrix_init_identity
_moz_cairo_matrix_init_scale
_moz_cairo_matrix_init_translate
_moz_cairo_matrix_invert
_moz_cairo_matrix_multiply
_moz_cairo_matrix_rotate
_moz_cairo_matrix_scale
_moz_cairo_matrix_transform_distance
_moz_cairo_matrix_transform_point
_moz_cairo_matrix_translate
_moz_cairo_move_to
_moz_cairo_new_path
_moz_cairo_new_sub_path
_moz_cairo_null_surface_create
_moz_cairo_paint
_moz_cairo_paint_with_alpha
_moz_cairo_path_destroy
_moz_cairo_path_extents
_moz_cairo_pattern_add_color_stop_rgba
_moz_cairo_pattern_create_for_surface
_moz_cairo_pattern_create_linear
_moz_cairo_pattern_create_radial
_moz_cairo_pattern_create_rgba
_moz_cairo_pattern_destroy
_moz_cairo_pattern_get_color_stop_count
_moz_cairo_pattern_get_color_stop_rgba
_moz_cairo_pattern_get_extend
_moz_cairo_pattern_get_filter
_moz_cairo_pattern_get_linear_points
_moz_cairo_pattern_get_matrix
_moz_cairo_pattern_get_radial_circles
_moz_cairo_pattern_get_rgba
_moz_cairo_pattern_get_surface
_moz_cairo_pattern_get_type
_moz_cairo_pattern_reference
_moz_cairo_pattern_set_extend
_moz_cairo_pattern_set_filter
_moz_cairo_pattern_set_matrix
_moz_cairo_pattern_status
_moz_cairo_pdf_surface_create_for_stream
_moz_cairo_pop_group
_moz_cairo_pop_group_to_source
_moz_cairo_push_group
_moz_cairo_push_group_with_content
_moz_cairo_rectangle
_moz_cairo_rectangle_list_destroy
_moz_cairo_reference
_moz_cairo_release_device
_moz_cairo_reset_clip
_moz_cairo_restore
_moz_cairo_rotate
_moz_cairo_save
_moz_cairo_scale
_moz_cairo_scaled_font_create
_moz_cairo_scaled_font_destroy
_moz_cairo_scaled_font_get_font_matrix
_moz_cairo_scaled_font_get_font_options
_moz_cairo_scaled_font_get_hint_metrics
_moz_cairo_scaled_font_get_type
_moz_cairo_scaled_font_glyph_extents
_moz_cairo_scaled_font_reference
_moz_cairo_scaled_font_status
_moz_cairo_set_antialias
_moz_cairo_set_dash
_moz_cairo_set_fill_rule
_moz_cairo_set_font_face
_moz_cairo_set_font_options
_moz_cairo_set_font_size
_moz_cairo_set_line_cap
_moz_cairo_set_line_join
_moz_cairo_set_line_width
_moz_cairo_set_matrix
_moz_cairo_set_miter_limit
_moz_cairo_set_operator
_moz_cairo_set_scaled_font
_moz_cairo_set_source
_moz_cairo_set_source_rgba
_moz_cairo_set_source_surface
_moz_cairo_show_glyphs
_moz_cairo_status
_moz_cairo_status_to_string
_moz_cairo_stroke
_moz_cairo_stroke_extents
_moz_cairo_stroke_preserve
_moz_cairo_surface_attach_snapshot
_moz_cairo_surface_create_similar
_moz_cairo_surface_destroy
_moz_cairo_surface_finish
_moz_cairo_surface_flush
_moz_cairo_surface_get_content
_moz_cairo_surface_get_device_offset
_moz_cairo_surface_get_reference_count
_moz_cairo_surface_get_subpixel_antialiasing
_moz_cairo_surface_get_type
_moz_cairo_surface_get_user_data
_moz_cairo_surface_mark_dirty
_moz_cairo_surface_mark_dirty_rectangle
_moz_cairo_surface_reference
_moz_cairo_surface_set_device_offset
_moz_cairo_surface_set_fallback_resolution
_moz_cairo_surface_set_subpixel_antialiasing
_moz_cairo_surface_set_user_data
_moz_cairo_surface_show_page
_moz_cairo_surface_status
_moz_cairo_tee_surface_add
_moz_cairo_tee_surface_create
_moz_cairo_tee_surface_index
_moz_cairo_transform
_moz_cairo_translate
_moz_cairo_user_to_device
_moz_cairo_user_to_device_distance
_moz_cairo_win32_font_face_create_for_logfontw
_moz_cairo_win32_font_face_create_for_logfontw_hfont
_moz_cairo_win32_get_dc_with_clip
_moz_cairo_win32_get_system_text_quality
#ifdef NS_PRINTING
_moz_cairo_win32_printing_surface_create
#endif
_moz_cairo_win32_scaled_font_select_font
_moz_cairo_win32_surface_create
_moz_cairo_win32_surface_create_with_alpha
_moz_cairo_win32_surface_create_with_d3dsurface9
_moz_cairo_win32_surface_create_with_ddb
_moz_cairo_win32_surface_create_with_dib
_moz_cairo_win32_surface_get_dc
_moz_cairo_win32_surface_get_height
_moz_cairo_win32_surface_get_image
_moz_cairo_win32_surface_get_width
_moz_cairo_win32_surface_set_can_convert_to_dib
#ifdef MOZ_TREE_PIXMAN
_moz_pixman_image_composite32
_moz_pixman_image_create_bits
_moz_pixman_image_set_filter
_moz_pixman_image_set_transform
_moz_pixman_image_unref
_moz_pixman_transform_from_pixman_f_transform
_moz_pixman_transform_invert
_moz_pixman_region32_reset
_moz_pixman_region32_init
_moz_pixman_region32_init_rect
_moz_pixman_region32_init_rects
_moz_pixman_region32_init_with_extents
_moz_pixman_region32_fini
_moz_pixman_region32_translate
_moz_pixman_region32_copy
_moz_pixman_region32_intersect
_moz_pixman_region32_intersect_rect
_moz_pixman_region32_union
_moz_pixman_region32_union_rect
_moz_pixman_region32_subtract
_moz_pixman_region32_inverse
_moz_pixman_region32_contains_point
_moz_pixman_region32_contains_rectangle
_moz_pixman_region32_not_empty
_moz_pixman_region32_extents
_moz_pixman_region32_n_rects
_moz_pixman_region32_rectangles
_moz_pixman_region32_equal
_moz_pixman_region32_selfcheck
_moz_pixman_region32_reset
_moz_pixman_region32_clear
#endif
#endif
hb_blob_create
hb_blob_destroy
hb_blob_get_data
hb_blob_get_empty
hb_blob_get_length
hb_blob_reference
hb_buffer_add_utf16
hb_buffer_create
hb_buffer_destroy
hb_buffer_get_glyph_infos
hb_buffer_get_glyph_positions
hb_buffer_reverse
hb_buffer_set_cluster_level
hb_buffer_set_direction
hb_buffer_set_language
hb_buffer_set_script
hb_buffer_set_unicode_funcs
hb_face_create_for_tables
hb_face_destroy
hb_face_reference
hb_font_create
hb_font_destroy
hb_font_funcs_create
hb_font_funcs_set_glyph_contour_point_func
hb_font_funcs_set_glyph_extents_func
hb_font_funcs_set_glyph_func
hb_font_funcs_set_glyph_h_advance_func
hb_font_funcs_set_glyph_h_kerning_func
hb_font_funcs_set_glyph_h_origin_func
hb_font_funcs_set_glyph_v_origin_func
hb_font_funcs_set_glyph_v_advance_func
hb_font_funcs_set_nominal_glyph_func
hb_font_funcs_set_variation_glyph_func
hb_font_set_funcs
hb_font_set_ppem
hb_font_set_scale
hb_language_from_string
hb_ot_layout_collect_lookups
hb_ot_layout_feature_get_lookups
hb_ot_layout_has_positioning
hb_ot_layout_has_substitution
hb_ot_layout_language_find_feature
hb_ot_layout_language_get_feature_indexes
hb_ot_layout_language_get_feature_tags
hb_ot_layout_language_get_required_feature_index
hb_ot_layout_lookup_collect_glyphs
hb_ot_layout_script_get_language_tags
hb_ot_layout_table_choose_script
hb_ot_layout_table_find_script
hb_ot_layout_table_get_script_tags
hb_ot_math_get_constant
hb_ot_math_get_glyph_assembly
hb_ot_math_get_glyph_italics_correction
hb_ot_math_get_glyph_variants
hb_ot_math_has_data
hb_ot_tag_to_language
hb_ot_tag_to_script
hb_ot_tags_from_script
hb_set_add
hb_set_clear
hb_set_create
hb_set_destroy
hb_set_get_population
hb_set_has
hb_set_intersect
hb_set_is_empty
hb_set_next
hb_shape
hb_unicode_funcs_create
hb_unicode_funcs_get_empty
hb_unicode_funcs_set_combining_class_func
hb_unicode_funcs_set_compose_func
hb_unicode_funcs_set_decompose_func
hb_unicode_funcs_set_eastasian_width_func
hb_unicode_funcs_set_general_category_func
hb_unicode_funcs_set_mirroring_func
hb_unicode_funcs_set_script_func
BrotliDecoderCreateInstance
BrotliDecoderDecompress
BrotliDecoderDecompressStream
BrotliDecoderDestroyInstance
BrotliDecoderIsFinished
BrotliDecoderStateCleanup
BrotliDecoderStateInit
+3
View File
@@ -62,6 +62,9 @@ if CONFIG['OS_TARGET'] == 'Android':
]
DEFINES['USE_AUDIOTRACK'] = True
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
+3
View File
@@ -148,6 +148,9 @@ else: # No SIMD support?
ASFLAGS += CONFIG['LIBJPEG_TURBO_ASFLAGS']
ASFLAGS += ['-I%s/media/libjpeg/simd/' % TOPSRCDIR]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
+3
View File
@@ -21,4 +21,7 @@ SOURCES += [
'WebMElement.c',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
+3
View File
@@ -9,4 +9,7 @@ UNIFIED_SOURCES += [
'nestegg.c',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
+3
View File
@@ -19,4 +19,7 @@ UNIFIED_SOURCES += [
'src/ogg_framing.c',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
+4 -2
View File
@@ -23,8 +23,10 @@ DEFINES['OPUS_BUILD'] = True
DEFINES['OPUS_VERSION'] = '"v1.1-mozilla"'
DEFINES['USE_ALLOCA'] = True
# Don't export symbols
DEFINES['OPUS_EXPORT'] = ''
# We only need to export symbols if we're built into libgkmedias
# instead of libxul.
if not CONFIG['GKMEDIAS_SHARED_LIBRARY']:
DEFINES['OPUS_EXPORT'] = ''
if CONFIG['CPU_ARCH'] == 'arm' and CONFIG['GNU_AS']:
DEFINES['OPUS_ARM_ASM'] = True
+3
View File
@@ -60,6 +60,9 @@ if CONFIG['MOZ_TREE_FREETYPE']:
Library('mozpng')
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'gkmedias'
# We allow warnings for third-party code that can be updated from upstream.
+4
View File
@@ -22,7 +22,11 @@ FINAL_LIBRARY = 'gkmedias'
# We don't compile the full speex codec, only the resampler.
DEFINES['OUTSIDE_SPEEX'] = True
# Visibility is handled through VISIBILITY_FLAGS and
# layout/media/symbols.def.in.
DEFINES['EXPORT'] = ''
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
if CONFIG['MOZ_SAMPLE_TYPE_S16']:
DEFINES['FIXED_POINT'] = True
+3
View File
@@ -18,6 +18,9 @@ ALLOW_COMPILER_WARNINGS = True
FINAL_LIBRARY = 'gkmedias'
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# The encoder is currently not included.
DEFINES['THEORA_DISABLE_ENCODE'] = True
+3
View File
@@ -48,6 +48,9 @@ if CONFIG['OS_ARCH'] == 'AIX':
if CONFIG['OS_ARCH'] == 'SunOS':
DEFINES['HAVE_ALLOCA_H'] = True
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
+3
View File
@@ -52,6 +52,9 @@ if 'vp8/encoder/arm/armv5te/boolhuff_armv5te.asm' not in arm_asm_files:
'vp8/encoder/boolhuff.c',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
+3
View File
@@ -33,4 +33,7 @@ include('../common.build')
# nr_socket_short_term_violation_time.
SOURCES += mtransport_cppsrcs
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
FINAL_LIBRARY = 'xul'
+5
View File
@@ -30,6 +30,9 @@ UNIFIED_SOURCES += [
'dec/state.c',
]
if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
NO_VISIBILITY_FLAGS = True
# We allow warnings for third-party code that can be updated from upstream.
ALLOW_COMPILER_WARNINGS = True
@@ -37,6 +40,8 @@ CFLAGS += ['-DBROTLI_BUILD_PORTABLE']
Library('brotli')
FINAL_LIBRARY = 'gkmedias'
HostProgram('brotli')
HOST_SOURCES += UNIFIED_SOURCES