$OpenBSD: patch-media_media_gyp,v 1.8 2016/02/15 18:07:53 robert Exp $
--- media/media.gyp.orig.port	Wed Jan 20 21:01:22 2016
+++ media/media.gyp	Fri Jan 22 19:58:58 2016
@@ -13,7 +13,7 @@
     'linux_link_pulseaudio%': 0,
     'conditions': [
       # Enable ALSA and Pulse for runtime selection.
-      ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm"))', {
+      ['(OS=="linux" or OS=="freebsd" or OS=="solaris") and (embedded!=1 or (chromecast==1 and target_arch!="arm")) and os_bsd != 1', {
         # ALSA is always needed for Web MIDI even if the cras is enabled.
         'use_alsa%': 1,
         'conditions': [
@@ -27,6 +27,10 @@
         'use_alsa%': 0,
         'use_pulseaudio%': 0,
       }],
+      # Override to dynamically link the sndio library.
+      ['OS=="openbsd"', {
+        'use_sndioaudio%': 0,
+      }],
       # low memory buffer is used in non-Android based chromecast build due to hardware limitation.
       ['chromecast==1 and OS!="android"', {
         'use_low_memory_buffer%': 1,
@@ -161,6 +165,8 @@
         'audio/mac/audio_manager_mac.h',
         'audio/null_audio_sink.cc',
         'audio/null_audio_sink.h',
+        'audio/openbsd/audio_manager_openbsd.cc',
+        'audio/openbsd/audio_manager_openbsd.h',
         'audio/pulse/audio_manager_pulse.cc',
         'audio/pulse/audio_manager_pulse.h',
         'audio/pulse/pulse_input.cc',
@@ -169,6 +175,8 @@
         'audio/pulse/pulse_output.h',
         'audio/pulse/pulse_util.cc',
         'audio/pulse/pulse_util.h',
+        'audio/sndio/sndio_output.cc',
+        'audio/sndio/sndio_output.h',
         'audio/sample_rates.cc',
         'audio/sample_rates.h',
         'audio/scoped_task_runner_observer.cc',
@@ -770,6 +778,24 @@
             'filters/h264_bitstream_buffer.h',
           ],
         }],
+        ['use_sndio == 1', {
+          'link_settings': {
+            'libraries': [
+              '-lsndio',
+            ],
+          },
+          'defines': [
+            'USE_SNDIO',
+          ],
+          'sources!': [
+            'audio/linux/audio_manager_linux.cc',
+          ],
+        }, {  # else: use_sndio == 0
+          'sources!': [
+            'audio/sndio/sndio_output.cc',
+            'audio/sndio/sndio_output.h',
+          ],
+        }],
         ['use_alsa==1', {
           'link_settings': {
             'libraries': [
@@ -787,11 +813,21 @@
         }],
         ['OS=="openbsd"', {
           'sources!': [
+            'capture/video/linux/v4l2_capture_delegate.cc',
+            'capture/video/linux/v4l2_capture_delegate.h',
             'capture/video/linux/v4l2_capture_delegate_multi_plane.cc',
             'capture/video/linux/v4l2_capture_delegate_multi_plane.h',
+            'capture/video/linux/v4l2_capture_delegate_single_plane.cc',
+            'capture/video/linux/v4l2_capture_delegate_single_plane.h',
+            'capture/video/linux/video_capture_device_chromeos.cc',
+            'capture/video/linux/video_capture_device_chromeos.h',
+            'capture/video/linux/video_capture_device_factory_linux.cc',
+            'capture/video/linux/video_capture_device_factory_linux.h',
+            'capture/video/linux/video_capture_device_linux.cc',
+            'capture/video/linux/video_capture_device_linux.h',
           ],
         }],
-        ['OS=="linux"', {
+        ['OS=="linux" or os_bsd==1', {
           'conditions': [
             ['use_x11==1', {
               'dependencies': [
@@ -885,7 +921,7 @@
             'ozone/media_ozone_platform.h',
           ]
         }],
-        ['OS!="linux"', {
+        ['OS!="linux" and os_bsd!=1', {
           'sources!': [
             'audio/cras/audio_manager_cras.cc',
             'audio/cras/audio_manager_cras.h',
@@ -1127,7 +1163,7 @@
             'base/simd/filter_yuv_sse2.cc',
           ],
         }],
-        ['OS!="linux" and OS!="win"', {
+        ['(OS!="linux" and os_bsd!=1) and OS!="win"', {
           'sources!': [
             'base/keyboard_event_counter.cc',
             'base/keyboard_event_counter.h',
@@ -1992,7 +2028,7 @@
             'test/pipeline_integration_test_base.cc',
           ],
           'conditions': [
-            ['os_posix==1 and OS!="mac"', {
+            ['os_posix==1 and OS!="mac" and os_bsd!=1', {
               'conditions': [
                 ['use_allocator!="none"', {
                   'dependencies': [
