[CI20] Refactor contrib/creator for Cobalt 16.154703 Refactoring is based on starboard/linux Change-Id: I6903887fcd44c4aa2e8b41661e725d14989a9b52
diff --git a/src/starboard/contrib/creator/ci20x11/egl_workaround.cc b/src/starboard/contrib/creator/ci20x11/egl_workaround.cc index e6f83e2..f812d71 100644 --- a/src/starboard/contrib/creator/ci20x11/egl_workaround.cc +++ b/src/starboard/contrib/creator/ci20x11/egl_workaround.cc
@@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include <X11/Xlib.h> #include "cobalt/renderer/backend/egl/display.h" extern "C" EGLDisplay __real_eglGetDisplay(EGLNativeDisplayType native_display); @@ -20,7 +21,7 @@ extern "C" EGLBoolean __real_eglTerminate(EGLDisplay display); extern "C" EGLBoolean __wrap_eglTerminate(EGLDisplay display); -NativeDisplayType native_display_; +Display* native_display_; extern "C" EGLDisplay __wrap_eglGetDisplay(EGLNativeDisplayType native_display) { @@ -30,6 +31,6 @@ extern "C" EGLBoolean __wrap_eglTerminate(EGLDisplay display) { EGLBoolean result = __real_eglTerminate(display); - XCloseDisplay((NativeDisplayType) native_display_); + XCloseDisplay(native_display_); return result; }
diff --git a/src/starboard/contrib/creator/ci20x11/gcc/4.9/compiler_flags.gypi b/src/starboard/contrib/creator/ci20x11/gcc/4.9/compiler_flags.gypi index b782944..864c7ec 100644 --- a/src/starboard/contrib/creator/ci20x11/gcc/4.9/compiler_flags.gypi +++ b/src/starboard/contrib/creator/ci20x11/gcc/4.9/compiler_flags.gypi
@@ -92,6 +92,11 @@ }, 'target_defaults': { + 'defines': [ + # By default, <EGL/eglplatform.h> pulls in some X11 headers that have some + # nasty macros (|Status|, for example) that conflict with Chromium base. + 'MESA_EGL_NO_X11_HEADERS' + ], 'cflags_c': [ # Limit to C99. This allows Linux to be a canary build for any # C11 features that are not supported on some platforms' compilers.
diff --git a/src/starboard/contrib/creator/ci20x11/system_get_property.cc b/src/starboard/contrib/creator/ci20x11/system_get_property.cc index cb834af..fd4222c 100644 --- a/src/starboard/contrib/creator/ci20x11/system_get_property.cc +++ b/src/starboard/contrib/creator/ci20x11/system_get_property.cc
@@ -14,8 +14,8 @@ #include "starboard/system.h" -#include <linux/if.h> // NOLINT(build/include_alpha) #include <netdb.h> +#include <linux/if.h> // NOLINT(build/include_alpha) #include <sys/ioctl.h> #include <sys/socket.h>
diff --git a/src/starboard/contrib/creator/shared/compiler_flags.gypi b/src/starboard/contrib/creator/shared/compiler_flags.gypi index 3cbdf7c..d3005f1 100644 --- a/src/starboard/contrib/creator/shared/compiler_flags.gypi +++ b/src/starboard/contrib/creator/shared/compiler_flags.gypi
@@ -103,7 +103,7 @@ 'defines': [ # By default, <EGL/eglplatform.h> pulls in some X11 headers that have some # nasty macros (|Status|, for example) that conflict with Chromium base. - #'MESA_EGL_NO_X11_HEADERS' + 'MESA_EGL_NO_X11_HEADERS' ], 'target_conditions': [ ['clang==1', {
diff --git a/src/starboard/contrib/creator/shared/gyp_configuration.gypi b/src/starboard/contrib/creator/shared/gyp_configuration.gypi index b853967..26a5869 100644 --- a/src/starboard/contrib/creator/shared/gyp_configuration.gypi +++ b/src/starboard/contrib/creator/shared/gyp_configuration.gypi
@@ -24,7 +24,9 @@ 'platform_libraries': [ '-lasound', - '-ldl', + '-lavcodec', + '-lavformat', + '-lavutil', '-lm', '-lpthread', '-lrt',
diff --git a/src/starboard/contrib/creator/shared/player_components_impl.cc b/src/starboard/contrib/creator/shared/player_components_impl.cc index 3195d3a..95ae78c 100644 --- a/src/starboard/contrib/creator/shared/player_components_impl.cc +++ b/src/starboard/contrib/creator/shared/player_components_impl.cc
@@ -27,7 +27,6 @@ #include "starboard/shared/starboard/player/filter/video_render_algorithm.h" #include "starboard/shared/starboard/player/filter/video_render_algorithm_impl.h" #include "starboard/shared/starboard/player/filter/video_renderer_sink.h" -#include "starboard/time.h" namespace starboard { namespace shared { @@ -47,9 +46,9 @@ SB_DCHECK(audio_decoder); SB_DCHECK(audio_renderer_sink); - scoped_ptr<AudioDecoderImpl> audio_decoder_impl(new AudioDecoderImpl( + scoped_ptr<AudioDecoderImpl> audio_decoder_impl(AudioDecoderImpl::Create( audio_parameters.audio_codec, audio_parameters.audio_header)); - if (audio_decoder_impl->is_valid()) { + if (audio_decoder_impl && audio_decoder_impl->is_valid()) { audio_decoder->reset(audio_decoder_impl.release()); } else { audio_decoder->reset(); @@ -73,10 +72,10 @@ video_decoder->reset(); scoped_ptr<FfmpegVideoDecoderImpl> ffmpeg_video_decoder( - new FfmpegVideoDecoderImpl( + FfmpegVideoDecoderImpl::Create( video_parameters.video_codec, video_parameters.output_mode, video_parameters.decode_target_graphics_context_provider)); - if (ffmpeg_video_decoder->is_valid()) { + if (ffmpeg_video_decoder && ffmpeg_video_decoder->is_valid()) { video_decoder->reset(ffmpeg_video_decoder.release()); }