summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungbae Shin <seungbae.shin@samsung.com>2022-01-28 19:43:49 +0900
committerSeungbae Shin <seungbae.shin@samsung.com>2022-01-28 20:10:48 +0900
commit80b09504c95afa085f77835ea5fb00a8d5d5010a (patch)
tree4d758caa04133c704486295479fb238ab593345c
parent29e8be2efc13e36fb7cce4df4825371bdabe1efb (diff)
downloadmedia-config-80b09504c95afa085f77835ea5fb00a8d5d5010a.tar.gz
media-config-80b09504c95afa085f77835ea5fb00a8d5d5010a.tar.bz2
media-config-80b09504c95afa085f77835ea5fb00a8d5d5010a.zip
This is for the Generic HAL Image (GHI) and initially cloned based from C4 [Version] 0.3.35 [Issue Type] Add Change-Id: Ia53277ee3700802f061f5c83b3378c4c353ba74d
-rw-r--r--media-config-generic.manifest5
-rw-r--r--media-config-generic/hal/etc/asound.conf11
-rw-r--r--media-config-generic/hal/etc/inference/inference_engine.ini3
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_audio_pcm_dump.ini8
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_audio_volume.ini19
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_camcorder.ini103
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_camcorder_camera0.ini208
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_media_codec.ini89
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_media_streamer.ini124
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_player.ini102
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_player_audio_effect.ini17
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_resource_manager.ini9
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_streamrecorder.ini81
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_webrtc.ini156
-rw-r--r--media-config-generic/hal/etc/multimedia/mmfw_wfd_sink.ini231
-rw-r--r--media-config-generic/hal/etc/multimedia/mused.conf66
-rw-r--r--media-config-generic/hal/etc/multimedia/scmirroring_src.ini114
-rw-r--r--media-config-generic/hal/etc/murphy/murphy.lua99
-rw-r--r--media-config-generic/hal/etc/pulse/client.conf37
-rw-r--r--media-config-generic/hal/etc/pulse/daemon.conf83
-rw-r--r--media-config-generic/hal/etc/pulse/default.pa149
-rw-r--r--media-config-generic/hal/etc/pulse/device-map.json26
-rw-r--r--media-config-generic/hal/etc/pulse/stream-map.json191
-rw-r--r--media-config-generic/hal/etc/pulse/system.pa74
-rw-r--r--media-config-generic/hal/etc/xdg/gstomx.conf84
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf62
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf62
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf61
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf63
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf63
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common63
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf62
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf61
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf54
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common294
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf82
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf82
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf85
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf82
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf94
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf92
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common128
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf144
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf91
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf162
-rw-r--r--media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf136
-rw-r--r--packaging/media-config.spec35
47 files changed, 4146 insertions, 1 deletions
diff --git a/media-config-generic.manifest b/media-config-generic.manifest
new file mode 100644
index 0000000..a76fdba
--- /dev/null
+++ b/media-config-generic.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_" />
+ </request>
+</manifest>
diff --git a/media-config-generic/hal/etc/asound.conf b/media-config-generic/hal/etc/asound.conf
new file mode 100644
index 0000000..acaf318
--- /dev/null
+++ b/media-config-generic/hal/etc/asound.conf
@@ -0,0 +1,11 @@
+# default sound configuration
+
+pcm. !default {
+ type hw
+ card 0
+}
+
+ctl. !default {
+ type hw
+ card 0
+}
diff --git a/media-config-generic/hal/etc/inference/inference_engine.ini b/media-config-generic/hal/etc/inference/inference_engine.ini
new file mode 100644
index 0000000..54eddf2
--- /dev/null
+++ b/media-config-generic/hal/etc/inference/inference_engine.ini
@@ -0,0 +1,3 @@
+[inference backend]
+;/*OPENCV=0, Tensorflow-lite=1
+supported backend types = 0,1
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_audio_pcm_dump.ini b/media-config-generic/hal/etc/multimedia/mmfw_audio_pcm_dump.ini
new file mode 100644
index 0000000..6e13b68
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_audio_pcm_dump.ini
@@ -0,0 +1,8 @@
+[pcm_dump]
+;playback
+pa_sink = 0
+pa_sink_input = 0
+
+;capture
+pa_source = 0
+pa_source_output = 0
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_audio_volume.ini b/media-config-generic/hal/etc/multimedia/mmfw_audio_volume.ini
new file mode 100644
index 0000000..ae7e635
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_audio_volume.ini
@@ -0,0 +1,19 @@
+[volumes]
+system = 0, 72, 73, 74, 75, 76, 77, 78, 80, 81, 82, 84, 86, 88, 90, 94
+notification = 0, 68, 70, 72, 73, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 97
+alarm = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92
+ringtone = 0, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 92
+media = 0, 46, 50, 53, 58, 62, 68, 72, 76, 80, 84, 87, 90, 93, 96, 100
+call = 60, 65, 70, 76, 82, 88, 94, 100
+voip = 60, 65, 70, 76, 82, 88, 94, 100
+voice = 0, 55, 58, 61, 64, 67, 70, 75, 78, 82, 86, 89, 91, 94, 97, 100
+gain_dialer = 1.00
+gain_touch = 1.00
+gain_af = 0.70
+gain_shutter1 = 0.14
+gain_shutter2 = 1.00
+gain_camcording = 0.30
+gain_midi = 1.00
+gain_booting = 0.40
+gain_video = 0.90
+gain_tts = 1.00
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_camcorder.ini b/media-config-generic/hal/etc/multimedia/mmfw_camcorder.ini
new file mode 100644
index 0000000..0d139a2
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_camcorder.ini
@@ -0,0 +1,103 @@
+; < Camera/Camcorder Configure Main INI file >
+;
+; - Header List -
+; 1. General
+; 2. VideoInput
+; 3. AudioInput
+; 4. VideoOutput
+; 5. Capture
+; 6. Record
+; 7. VideoEncoder
+; 8. AudioEncoder
+; 9. ImageEncoder
+; 10. Mux
+;
+; - Note -
+; If you want to add a new header,
+; add a new enum value to "enum ConfigureCategoryMain"
+; and new default table for it in mm_camcorder_configure.c/.h
+;
+
+[General]
+SyncStateChange = 1
+;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap || NOT-USE-DEFAULT_VALUE
+;GSTInitOption = --gst-enable-tiny-registry --gst-disable-segtrap --gst-debug=3 || NOT-USE-DEFAULT_VALUE
+ModelName = GT-TIZEN
+;DisabledAttributes = camera-optical-zoom camera-af-touch-x camera-af-touch-y camera-exposure-value camera-f-number camera-shutter-speed camera-hold-af-after-capturing filter-flip filter-hue display-src-x display-src-y display-src-width display-src-height tag-image-description strobe-control strobe-capabilities strobe-mode detect-mode detect-number detect-focus-select detect-select-number detect-status || NO_DEFAULT_VALUE
+
+[VideoInput]
+VideosrcElement = v4l2src | 1,0 | do-timestamp,1
+UseVideoscale = 1
+VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1
+UseZeroCopyFormat = 0
+DeviceCount = 1
+SupportMediaPacketPreviewCb = 1
+
+[AudioInput]
+AudioDevice = 0,1 || 0
+AudiosrcElement = pulsesrc | 1,0 | do-timestamp,1
+AudiomodemsrcElement = pulsesrc | 1,0 | do-timestamp,1
+
+[VideoOutput]
+; DisplayDevice
+;;; 0: MAIN LCD, 1: SUB LCD, 2:TV OUT, 3: MAIN LCD and SUB LCD, 4: MAIN LCD and TV OUT
+DisplayDevice = 0 || 0
+; DisplayMode
+;;; 0: Default, 1: Pri Video ON and Sec Video Full-Screen, 2: Pri Video OFF and Sec Video Full-Screen
+DisplayMode = 0,1,2 || 0
+; Videosink
+;;; 0: Overlay surface, 1: Evas surface, 2: GL surface, 3: NULL surface, 4: Remote
+Videosink = 0,3,4 || 3
+VideosinkElementOverlay = tizenwlsink | 7,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0 | use-tbm,0
+VideosinkElementRemote = shmsink | 5,0 | wait-for-connection,0 | perms,511 | enable-last-sample,0 | qos,0 | sync,0
+VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0
+UseVideoconvert = 1
+VideoconvertElement = videoconvert | 0,0
+
+[VideoEncoder]
+MPEG4 = avenc_mpeg4 | 0,0
+
+[AudioEncoder]
+AMR = amrnbenc | 0,0
+AAC = avenc_aac | 1,0 | compliance,-2
+WAVE = wavenc | 0,0
+
+[ImageEncoder]
+JPEG = jpegenc | 0,0
+;PNG = pngenc | 0,0
+
+[Capture]
+UseEncodebin = 1
+UseCaptureMode = 0
+VideoscaleElement = videoscale | 1,0 | method,1
+
+[Record]
+UseAudioEncoderQueue = 1
+UseVideoEncoderQueue = 0
+VideoProfile = 0
+VideoAutoAudioConvert = 1
+VideoAutoAudioResample = 0
+VideoAutoColorSpace = 1
+AudioProfile = 1
+AudioAutoAudioConvert = 1
+AudioAutoAudioResample = 0
+AudioAutoColorSpace = 0
+ImageProfile = 2
+ImageAutoAudioConvert = 0
+ImageAutoAudioResample = 0
+ImageAutoColorSpace = 1
+RecordsinkElement = filesink | 1,0 | async,0
+UseNoiseSuppressor = 0
+DropVideoFrame = 0
+PassFirstVideoFrame = 0
+
+[Mux]
+3GP = 3gppmux | 0,0
+AMR = avmux_amr | 0,0
+MP4 = mp4mux | 0,0
+AVI = avimux | 0,0
+MATROSKA = matroskamux | 0,0
+WAV = wavenc | 0,0
+AAC = avmux_adts | 0,0
+M2TS = mpegtsmux | 0,0
+
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_camcorder_camera0.ini b/media-config-generic/hal/etc/multimedia/mmfw_camcorder_camera0.ini
new file mode 100644
index 0000000..dea154c
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_camcorder_camera0.ini
@@ -0,0 +1,208 @@
+; < Camera/Camcorder Configure Control INI file >
+;
+; - Header List -
+; 1. Camera
+; 2. Strobe
+; 3. Effect
+; 4. Photograph
+; 5. Capture
+; 6. Detect
+;
+; - Note -
+; If you want to add a new header,
+; add a new enum value to "enum ConfigureCategoryControl"
+; and new default table for it in mm_camcorder_configure.c/.h
+;
+
+[Camera]
+; Input index - real setting value
+;;; 0:PRIMARY_CAMERA, 1:SECONDARY_CAMERA
+; Input index - MSL value(convert array index)
+;;; -1:NONE, 0:CAMERA0, 1:CAMERA1
+InputIndex = 0,-255 || 0
+DeviceName = USB_CAMERA
+PreviewResolution = 320,240 | 640,480 || 640,480
+CaptureResolution = 320,240 | 640,480 || 640,480
+VideoResolution = 320,240 | 640,480 || 640,480
+FPS0 = 0,15,30 || 15
+FPS1 = 0,15,30 || 15
+; PictureForamt - MSL value
+;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264
+PictureFormat = 7 || 7
+Overlay = 0,1 || 1
+; Recommend display rotation
+;;; 0:NONE, 1:90, 2:180, 3:270
+RecommendDisplayRotation = 0
+; Recommend preview format for capture
+;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264
+RecommendPreviewFormatCapture = 7
+; Recommend preview format for record
+;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY, 15:ENCODED_H264
+RecommendPreviewFormatRecord = 7
+; Recommend preview resolution
+;;; 0: NORMAL ratio(4:3), 1: WIDE ratio(16:9), 2: SQUARE ratio(1:1)
+RecommendPreviewResolution = 640,480 | 640,480 | 640,480 || 640,480
+; Camera facing direction
+;;; 0:REAR, 1:FRONT
+FacingDirection = 0
+FrameStabilityCount = 1
+
+
+[Strobe]
+;StrobeControl - Not support
+;StrobeCapabilities - Not support
+; Strobe mode - real setting value
+;;; N/A
+; Strobe mode - MSL value(convert array index)
+;;; 0:OFF, 1:ON, 2:AUTO, 3:REDEYE_REDUCTION, 4:SLOW_SYNC, 5:FRONT_CURTAIN, 6:REAR_CURTAIN, 7:PERMANENT
+StrobeMode = 0,-255,-255,-255,-255,-255,-255,-255 || 0
+;StrobeStatus - Not support
+;StrobeEV - Not support
+
+
+[Effect]
+Brightness = 0,8 || 4
+;Contrast = 1,7 || 4
+;Saturation = 0,4 || 2
+;Sharpness = 0,4 || 2
+
+; White balance - real setting value
+;;; 0:AUTO, 1:DAYLIGHT, 2:CLOUDY, 3:TUNGSTEN, 4:FLUORESCENT
+; White balance - MSL value(convert array index)
+;;; 0:NONE, 1:AUTO, 2:DAYLIGHT, 3:CLOUDY, 4:FLUORESCENT, 5:INCANDESCENT, 6:SHADE, 7:HORIZON, 8:FLASH, 9:CUSTOM
+WhiteBalance = -255,0,-255,-255,-255,-255,-255,-255,-255,-255 || 0
+
+; Color tone - real setting value
+;;; 1:NONE, 2:MONO, 3:SEPIA, 4:AQUA, 5:ANTIQUE, 6:NEGATIVE, 7:SHARPEN, 8:SKETCH, 9:WASHED, 10:VINTAGE_WARM
+;;; 11:VINTAGE_COLD, 12:SOLARIZE, 13:POSTERIZE, 14:POINT_BLUE, 15:POINT_RED_YELLOW, 16:POINT_COLOR_3, 17:POINT_GREEN, 18:POINT_RED, 19:POINT_YELLOW, 20:CARTOONIZE
+; Color tone - MSL value(convert array index)
+;;; 0:NONE, 1:MONO, 2:SEPIA, 3:NEGATIVE, 4:BLUE, 5:GREEN, 6:AQUA, 7:VIOLET, 8:ORANGE, 9:GRAY, 10:RED,
+;;; 11:ANTIQUE, 12:WARM, 13:PINK, 14:YELLOW, 15:PURPLE, 16:EMBOSS, 17:OUTLINE, 18:SOLARIZATION, 19:SKETCH, 20:WASHED,
+;;; 21:VINTAGE_WARM, 22:VINTAGE_COLD, 23:POSTERIZATION, 24:CARTOON, 25:SELECTIVE_RED, 26:SELECTIVE_GREEN, 27:SELECTIVE_BLUE, 28:SELECTIVE_YELLOW, 29:SELECTIVE_RED_YELLOW
+ColorTone = 1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 1
+; Flip - real setting value
+;;; 0:NONE, 1:VERTICAL, 2:HORIZONTAL
+; Flip - MSL value(convert array index)
+;;; 0:HORIZONTAL, 1:VERTICAL, 2:NONE
+;Flip = 2,1,0 || 0
+
+; Wide Dynamic Range - real setting value
+;;; 0:OFF, 1:ON
+; Wide Dynamic Range - MSL value(convert array index)
+;;; 0:OFF, 1:ON, 2:AUTO
+WDR = 0,-255,-255 || 0
+
+; Part color mode - real setting value
+;;; 0:OFF, 1:SWAP, 2:ACCENT
+; Part color mode - MSL value(convert array index)
+;;; 0:OFF, 1:SWAP, 2:ACCENT
+;PartColorMode = 0,1,2 || 0
+
+; Part color - real setting value
+;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3,
+;;; 11:GREEN_4, 12:COBALT, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY
+; Part color - MSL value(convert array index)
+;;; 0:VIOLET, 1:PURPLE, 2:MAGENTA_1, 3:MAGENTA_2, 4:RED_1, 5:RED_2, 6:BROWN, 7:YELLOW, 8:GREEN_1, 9:GREEN_2, 10:GREEN_3,
+;;; 11:GREEN_4, 12:COBALT_BLUE, 13:CYAN, 14:BLUE_1, 15:BLUE_2, 16:GRAY
+;PartColor = 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 || 0
+
+
+[Photograph]
+;LensInit = 0,1 || 0
+;DigitalZoom = 0,10 || 0
+;OpticalZoom = 0,0 || 0
+
+; Focus mode - real setting value
+;;; 0:AUTO, 1:MANUAL, 2:PAN, 3:TOUCH_AUTO, 4:CONTINUOUS
+; Focus mode - MSL value(convert array index)
+;;; 0:NONE, 1:PAN, 2:AUTO, 3:MANUAL, 4:TOUCH_AUTO, 5:CONTINUOUS
+FocusMode = 0,-255,-255,-255,-255,-255 || 0
+
+; Auto focus type - real setting value
+;;; 0:NORMAL, 1:MACRO, 2:FULL
+; Auto focus - MSL value(convert array index)
+;;; 0:NONE, 1:NORMAL, 2:MACRO, 3:FULL
+AFType = 0,-255,-255,-255 || 0
+
+; Auto exposure type - real setting value
+;;; 0:BASE, 1:MATRIX, 2:CENTER, 3:SPOT, 4:MAX
+; Auto exposure mode - MSL value(convert array index)
+;;; 0,OFF 1,ALL 2,CENTER1 3,CENTER2 4,CENTER3 5,SPOT1 6,SPOT2 7,CUSTOM1 8,CUSTOM2
+AEType = -255,0,-255,-255,-255,-255,-255,-255,-255 || 0
+
+;ExposureValue - Not support
+;FNumber - Not support
+;ShutterSpeed - Not support
+
+; ISO - real setting value
+;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600
+; ISO - MSL value(convert array index)
+;;; 0:AUTO, 1:50, 2:100, 3:200, 4:400, 5:800, 6:1600, 7:3200
+ISO = 0,-255,-255,-255,-255,-255,-255,-255 || 0
+
+; Program mode - real setting value
+;;; 1:NONE, 2:PORTRAIT, 3:NIGHTSHOT, 4:BACK_LIGHT, 5:LANDSCAPE, 6:SPORTS, 7:PARTY_INDOOR, 8:BEACH_SNOW, 9:SUNSET, 10:DUSK_DAWN,
+;;; 11:FALL_COLOR, 12:FIREWORKS, 13:TEXT, 14:CANDLE_LIGHT
+; Program mode - MSL value(convert array index)
+;;; 0:NORMAL, 1:PORTRAIT, 2:LANDSCAPE, 3:SPORTS, 4:PARTY_N_INDOOR, 5:BEACH_N_INDOOR, 6:SUNSET, 7:DUSK_N_DAWN, 8:FALL_COLOR, 9:NIGHT_SCENE,
+;;; 10:FIREWORK, 11:TEXT, 12:SHOW_WINDOW, 13:CANDLE_LIGHT, 14:BACKLIGHT
+ProgramMode = 0,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255 || 0
+
+; Anti-handshake - real setting value
+;;; 0:OFF, 1:ON
+; Anti-handshake - MSL value(convert array index)
+;;; 0:OFF, 1:ON, 2:AUTO, 3:MOVIE_ON
+AntiHandshake = 0,-255,-255,-255 || 0
+
+; Video-stabilization - real setting value
+;;; 0:OFF, 1:ON
+; Video-stabilization - MSL value(convert array index)
+;;; 0:OFF, 1:ON
+VideoStabilization = 0 || 0
+
+; Face zoom mode
+;;; 0:OFF, 1:ON
+FaceZoomMode = 0 || 0
+; Face zoom level
+FaceZoomLevel = 0,0 || 0
+
+; PTZ(Pan Tilt Zoom) type
+;;; 0:Mechanical, 1:Electronic
+;PtzType = 0,1 || 1
+
+; Pan range for mechanical movement
+;PanMecha = -10,10
+
+; Pan range for electronic movement
+;PanElec = -10,10
+
+; Tilt range for mechanical movement
+;TiltMecha = -10,10
+
+; Tilt range for electronic movement
+;TiltElec = -10,10
+
+
+[Capture]
+; Output mode
+;;; No need to convert
+;;; 0:NV12, 1:NV12T, 2:NV16, 3:NV21, 4:YUYV, 5:UYVY, 6:422P, 7:I420, 8:YV12, 9:RGB565, 10:RGB888, 11:RGBA, 12:ARGB, 13:ENCODED, 14:INTERLEAVED_JPEG_UYVY
+OutputMode = 7,13 || 13
+JpegQuality = 0,100 || 90
+MultishotNumber = 1,1 || 1
+SensorEncodedCapture = 0
+; Support HDR
+;;; 0: OFF, 1: ON, 2: ON and Original
+SupportHDR = 0,-255,-255 || 0
+FrameStabilityCount = 2
+
+
+[Detect]
+; Detect mode
+;;; 0:OFF, 1:ON
+DetectMode = 0,-255 || 0
+;DetectNumber - Not support
+;DetectFocusSelect - Not support
+;DetectSelectNumber - Not support
+;DetectStatus - Not support
+
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_media_codec.ini b/media-config-generic/hal/etc/multimedia/mmfw_media_codec.ini
new file mode 100644
index 0000000..9f2a5dd
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_media_codec.ini
@@ -0,0 +1,89 @@
+[h261]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = , ,
+sw_encoder = , ,
+
+[h263]
+hw_decoder = omxdec_h263, video/x-h263, NV12
+hw_encoder = omxenc_h263, video/x-raw, H263
+sw_decoder = avdec_h263, video/x-h263, I420
+sw_encoder = avenc_h263, video/x-raw, H263
+
+[h264]
+hw_decoder = omxdec_h264, video/x-h264, NV12
+hw_encoder = omxenc_h264, video/x-raw, H264_SP
+sw_decoder = avdec_h264, video/x-h264, I420
+sw_encoder = avenc_h264, video/x-raw, H264_SP
+
+[mpeg4]
+hw_decoder = omxdec_mpeg4, video/mpeg, NV12
+hw_encoder = omxenc_mpeg4, video/x-raw, MPEG4_SP
+sw_decoder = avdec_mpeg4, video/mpeg, I420
+sw_encoder = avenc_mpeg4, video/x-raw, MPEG4_SP
+
+[aac_lc]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE
+sw_encoder = avenc_aac, audio/x-raw, AAC_LC
+
+[aac_he]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE
+sw_encoder = , ,
+
+[aac_he_ps]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_aac, audio/mpeg, PCM_F32LE
+sw_encoder = , ,
+
+[mp3]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_mp3, audio/mpeg, PCM_F32LE
+sw_encoder = , ,
+
+[amr_nb]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_amrnb, audio/AMR, PCM_F32LE
+sw_encoder = amrnbenc, audio/x-raw, AMR_NB
+
+[amr_wb]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_amrwb, audio/AMR-WB, PCM_F32LE
+sw_encoder = , ,
+
+[vorbis]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = vorbisdec, audio/x-vorbis, PCM_F32LE
+sw_encoder = , ,
+
+[flac]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_flac, audio/x-flac, PCM_F32LE
+sw_encoder = , ,
+
+[wmav1]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_wmav1, audio/x-wma, PCM_F32LE
+sw_encoder = , ,
+
+[wmav2]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_wmav2, audio/x-wma, PCM_F32LE
+sw_encoder = , ,
+
+[wmapro]
+hw_decoder = , ,
+hw_encoder = , ,
+sw_decoder = avdec_wmapro, audio/x-wma, PCM_F32LE
+sw_encoder = , ,
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_media_streamer.ini b/media-config-generic/hal/etc/multimedia/mmfw_media_streamer.ini
new file mode 100644
index 0000000..527ab99
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_media_streamer.ini
@@ -0,0 +1,124 @@
+[general]
+; generating dot file representing pipeline state
+generate dot = no
+dot dir =
+
+; decodebin will be used instead of decoder node
+use decodebin = yes
+
+; comma separated list of element names which
+; will not be used in autoplug mode
+exclude elements = v4l2video,v4l2h264,v4l2mpeg4,omx,sprd
+
+; comma separated list of element names which
+; will require resources in autoplug mode
+resource elements = omx,sprd
+
+; comma separated list of arguments
+; that will pass to gst_init
+gstreamer arguments = --gst-debug=2
+
+
+;MEDIA_STREAMER_NODE_TYPE_SRC
+[node type 1]
+audio capture = pulsesrc
+video capture = waylandsrc
+camera = v4l2src
+
+;MEDIA_STREAMER_NODE_TYPE_SINK
+[node type 2]
+audio = pulsesink
+overlay = tizenwlsink
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_ENCODER
+[node type 3]
+video/x-h263 = avenc_h263
+;video/x-h264 =
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_DECODER
+[node type 4]
+video/x-h263 = avdec_h263
+;video/x-h264 =
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_ENCODER
+[node type 5]
+audio/AMR = amrnbenc
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_DECODER
+[node type 6]
+audio/AMR = amrnbdec
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER
+[node type 7]
+video/x-raw = videoconvert
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_CONVERTER
+[node type 8]
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_RESAMPLE
+[node type 9]
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_PAY
+[node type 10]
+video/x-h263 = rtph263pay
+;video/x-h264 =
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_PAY
+[node type 11]
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_DEPAY
+[node type 12]
+video/x-h263 = rtph263depay
+video/x-h264 = rtph264depay
+
+;MEDIA_STREAMER_NODE_TYPE_AUDIO_DEPAY
+[node type 13]
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_RATE
+[node type 14]
+
+;MEDIA_STREAMER_NODE_TYPE_VIDEO_SCALE
+[node type 15]
+
+;MEDIA_STREAMER_NODE_TYPE_TEXT_OVERLAY
+[node type 16]
+text/x-raw = textoverlay
+
+;MEDIA_STREAMER_NODE_TYPE_PARSER
+[node type 17]
+video/x-h263 = h263parse
+video/x-h264 = h264parse
+
+;MEDIA_STREAMER_NODE_TYPE_FILTER
+[node type 18]
+
+;MEDIA_STREAMER_NODE_TYPE_TEE
+[node type 19]
+
+;MEDIA_STREAMER_NODE_TYPE_QUEUE
+[node type 20]
+
+;MEDIA_STREAMER_NODE_TYPE_MQUEUE
+[node type 21]
+
+;MEDIA_STREAMER_NODE_TYPE_MUXER
+[node type 22]
+
+;MEDIA_STREAMER_NODE_TYPE_DEMUXER
+[node type 23]
+
+;MEDIA_STREAMER_NODE_TYPE_RTP
+[node type 24]
+
+;MEDIA_STREAMER_NODE_TYPE_INPUT_SELECTOR
+[node type 25]
+
+;MEDIA_STREAMER_NODE_TYPE_OUTPUT_SELECTOR
+[node type 26]
+
+;MEDIA_STREAMER_NODE_TYPE_INTERLEAVE
+[node type 27]
+
+;MEDIA_STREAMER_NODE_TYPE_DEINTERLEAVE
+[node type 28]
+
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_player.ini b/media-config-generic/hal/etc/multimedia/mmfw_player.ini
new file mode 100644
index 0000000..be4adf8
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_player.ini
@@ -0,0 +1,102 @@
+[general]
+
+disable segtrap = yes ; same effect with --gst-disable-segtrap
+
+; set default videosink element according to video surface type(X, EVAS, NULL)
+videosink element overlay = tizenwlsink
+videosink element fake = fakesink
+video converter element =
+
+; decoder element keyword for resource management.
+video codec element hw = v4l2
+video codec element sw = avdec
+video codec default type = sw ; hw or sw
+
+audio codec element hw =
+audio codec element sw = avdec
+audio codec default type = sw ; hw or sw
+
+; support with HW audio codec
+support audio effect = no
+support pcm exporting = no
+support pitch control = no
+support replaygain control = no
+
+audiosink element = pulsesink
+
+; audio offload information
+audio offload sink element =
+audio offload device type = ; builtin-speaker,bt-a2dp,audio-jack,usb-audio from pulse stream-map
+audio offload media format = ; Use the format keyword of media_format_mimetype_e, MAX:10
+
+; supported input format of external media source stream
+; Use the format keyword of media_format_mimetype_e, MAX:10
+media stream input format = AAC,H264_SP,H264_MP,H264_HP
+
+; if yes. gstreamer will not update registry
+skip rescan = yes
+delay before repeat = 50 ; msec
+
+; comma separated list of tocken which elemnts has it in it's name will not be used
+; this works if 'use decodebin = yes'
+element exclude keyword = omx
+
+; comma separated list of tocken
+; this works if 'use decodebin = yes'
+unsupported codec keyword = divx
+
+; parameters for initializing gstreamer
+; DEFAULT SET (--gst-debug=*:2)
+gstparam1 = --gst-debug=*:2
+gstparam2 =
+gstparam3 =
+gstparam4 =
+gstparam5 =
+
+; generating dot file representing pipeline state
+; DEFAULT MUST BE 'no'. If 'yes', mmplayer will set env-variable for it's session as "export GST_DEBUG_DUMP_DOT_DIR=/tmp/"
+generate dot = no
+
+; parameter is for only video to be determined
+; which clock will be used
+; if yes, system clock will be used
+; apart from this, audiosink is clock provider for audio
+use system clock = yes
+
+; allowed timeout for changing pipeline state
+live state change timeout = 30 ; sec
+localplayback state change timeout = 10 ; sec
+
+; delay in msec for sending EOS
+eos delay = 0 ; msec
+
+; extracted pcm buffer size
+pcm buffer size = 51200 ; 50Kbytes
+
+; max num of bo for sw codec
+video bo max = 10
+
+; video bo timeout (sec)
+video bo timeout = 10
+
+; setup pipeline with decodebin2
+use decodebin = no
+
+[http streaming]
+
+httpsrc element = souphttpsrc
+
+http buffering limit = 99.0 ; percent
+
+; if yes, use file for buffering.
+; if no, use memory for buffering.
+http use file buffer = no
+
+; ring buffer size when use mem buffer
+http ring buffer size = 20971520 ; 20MBytes
+
+http max size bytes = 1048576 ; bytes
+
+http buffering time = 1.2
+
+http timeout = 30 ; sec
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_player_audio_effect.ini b/media-config-generic/hal/etc/multimedia/mmfw_player_audio_effect.ini
new file mode 100644
index 0000000..1394608
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_player_audio_effect.ini
@@ -0,0 +1,17 @@
+[audio effect]
+; name of audio effect element
+audio effect element = audioeq
+
+; preset audio effect setting
+audio effect preset = no
+
+; custom audio effect setting (EQ/extension)
+audio effect custom = yes
+audio effect custom list = 0
+
+audio effect custom eq band num = 7 ; number of EQ bands
+audio effect custom eq band width = 33, 90, 242, 649, 1743, 4676, 12544 ; list of each EQ band width (Hz)
+audio effect custom eq band freq = 36, 98, 265, 711, 1907, 5117, 13727 ; list of each EQ band central frequency (Hz)
+
+audio effect custom min list = -12 ; list of minimum level value (the first element is for EQ, others for extension effect)
+audio effect custom max list = 12 ; list of maximum level value (the first element is for EQ, others for extension effect)
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_resource_manager.ini b/media-config-generic/hal/etc/multimedia/mmfw_resource_manager.ini
new file mode 100644
index 0000000..082f297
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_resource_manager.ini
@@ -0,0 +1,9 @@
+[max volume]
+video_overlay = -1
+video_decoder = -1
+video_encoder = -1
+camera = -1
+
+[priority]
+media = 10
+interrupt = 99
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_streamrecorder.ini b/media-config-generic/hal/etc/multimedia/mmfw_streamrecorder.ini
new file mode 100644
index 0000000..7c12c66
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_streamrecorder.ini
@@ -0,0 +1,81 @@
+[general]
+;is encsink source is live
+encscink source is live = 0
+
+retrialcount = 10
+
+minimum frame = 5
+
+reset pause time = 0
+
+screen record = 1
+
+convert output buffer num = 6
+
+hw encoder supported = 0 ; 1 if supported and 'video codec element hw' should be formed.
+
+video codec element hw = ; sprd (if verified) or verified hw codec element
+
+[encodebin]
+;MM_STREAMRECORDER_ENCBIN_PROFILE_VIDEO = 0 MM_STREAMRECORDER_ENCBIN_PROFILE_AUDIO = 1
+;MM_STREAMRECORDER_ENCBIN_PROFILE_IMAGE = 2 MM_STREAMRECORDER_ENCBIN_PROFILE_NUM = 3
+encsink bin profile = 0
+
+encsink bin auto audio resample = 0
+
+encsink bin auto colorspace = 1
+
+encsink bin auto audio convert = 1
+
+encsink bin use video toggle = 0
+
+[pipeline]
+encsink bin source = appsrc
+
+name of audio src = pulsesrc
+
+h264 encoder =
+
+h263 encoder = avenc_h263p
+
+mpeg4 encoder = avenc_mpeg4
+
+name of audio encoder = avenc_aac
+
+use parser =
+
+name of 3GP muxer = gppmux
+
+name of MP4 muxer = mp4mux
+
+name of video converter = videoconvert
+
+name of sink = filesink
+
+[video param]
+;/*ms*/
+video frame wait time = 200000
+
+[audio param]
+audio frame minimum space = 102400
+
+audio frame wait time = 20000
+
+[attribute]
+supported height = 1080,720,480,240,288,144
+
+supported width = 1920,1280,640,320,352,176
+
+;/*AMR, AAC, VORBIS ,PCM*/
+supported audio encoders = AMR,AAC,PCM
+
+;/* H263 , H264 , MPEG4 */
+supported video encoders = H263,MPEG4
+
+;/*3GP , AMR, MP4 , WAV, ADTS*/
+supported file formats = 3GP,MP4,AMR,ADTS,WAV
+
+[debug]
+; generating dot file representing pipeline state
+; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell (also do export to '/etc/profile.d/mmf.sh')
+generate dot = no
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_webrtc.ini b/media-config-generic/hal/etc/multimedia/mmfw_webrtc.ini
new file mode 100644
index 0000000..88fe4f2
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_webrtc.ini
@@ -0,0 +1,156 @@
+[general]
+; generating dot file representing pipeline state
+generate dot = no
+dot path = /tmp
+
+; the period(sec) of printing stats logs (0 to disable it)
+stats log period = 0
+
+; enable verbose logging
+verbose log = no
+
+; enable nice verbose logging
+nice verbose = no
+
+; enable network simulator
+network simulator = no
+
+; | separated list of arguments that will pass to gst_init
+gstreamer arguments = --gst-debug=webrtcbin:7,3
+
+; comma separated list of elements that will not use in the gstreamer pipeline
+gstreamer excluded elements =
+
+; latency of RTP jitterbuffer
+rtp jitterbuffer latency = 100
+
+; SDP bundle policy (0:none, 1:balanced(not supported yet), 2:max compat(not supported yet), 3:max bundle)
+bundle policy = 3
+
+; default STUN server URL
+stun server = stun://stun.l.google.com:19302
+
+
+[media source]
+; default values for video source pipeline (e.g, videotest, camera, screen)
+video raw format = I420
+video width = 320
+video height = 240
+video framerate = 30
+video codec = vp8
+video hw encoder element =
+video encoded format support = no
+video drc support = no
+; default values for audio source pipeline (e.g, audiotest, mic)
+audio raw format = S16LE
+audio samplerate = 8000
+audio channels = 1
+audio codec = opus
+audio hw encoder element =
+; default FEC setting of RTP packets
+use ulpfec red = no
+fec percentage = 100
+; default in-band FEC setting (only supported by opusenc/opusdec)
+use inbandfec = no
+packet loss percentage = 10
+
+
+[source videotest]
+source element = videotestsrc
+; comma separated list of 'property-name=value' that will be set to the source element
+source element properties = is-live=1,pattern=18
+; values below will override the default one of [media source] above
+;video raw format =
+;video width =
+;video height =
+;video framerate =
+;video codec =
+;video hw encoder element =
+;video encoded format support =
+video drc support = yes
+use ulpfec red = yes
+
+
+[source camera]
+source element = v4l2src
+; comma separated list of 'property-name=value' that will be set to the source element
+source element properties =
+; values below will override the default one of [media source] above
+;video raw format =
+;video width =
+;video height =
+;video framerate =
+;video codec =
+;video hw encoder element =
+;video encoded format support =
+;video drc support =
+use ulpfec red = yes
+
+
+[source screen]
+source element = waylandsrc
+; comma separated list of 'property-name=value' that will be set to the source element
+source element properties =
+; values below will override the default one of [media source] above
+;video raw format =
+;video width =
+;video height =
+;video framerate =
+;video codec =
+;video hw encoder element =
+;video encoded format support =
+;video drc support =
+use ulpfec red = yes
+
+
+[source audiotest]
+source element = audiotestsrc
+; comma separated list of 'property-name=value' that will be set to the source element
+source element properties = is-live=1
+; values below will override the default one of [media source] above
+;audio raw format =
+;audio samplerate =
+;audio channels =
+;audio codec =
+;audio hw encoder element =
+use inbandfec = yes
+
+
+[source mic]
+source element = pulsesrc
+; comma separated list of 'property-name=value' that will be set to the source element
+source element properties =
+; values below will override the default one of [media source] above
+;audio raw format =
+;audio samplerate =
+;audio channels =
+;audio codec =
+;audio hw encoder element =
+use inbandfec = yes
+
+
+[rendering sink]
+audio sink element = pulsesink
+video sink element = tizenwlsink
+
+; comma separated list of elements, it should be one by one per codec type
+audio hw decoder elements =
+video hw decoder elements =
+
+
+[resource acquisition]
+camera = yes
+video encoder = no
+video decoder = no
+video overlay = no
+
+
+[vpxenc params]
+;threads =
+;end usage =
+;cpu used =
+;target bitrate =
+;keyframe max dist =
+;min quantizer =
+;max quantizer =
+;undershoot =
diff --git a/media-config-generic/hal/etc/multimedia/mmfw_wfd_sink.ini b/media-config-generic/hal/etc/multimedia/mmfw_wfd_sink.ini
new file mode 100644
index 0000000..9981dec
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mmfw_wfd_sink.ini
@@ -0,0 +1,231 @@
+[general]
+; parameters for initializing gstreamer
+; DEFAULT SET (--gst-debug=2,*wfd*:5)
+gstparam1 = --gst-debug=2,*wfd*:5,*wfdtsdemux:1,*wfdrtpbuffer:1
+gstparam2 =
+gstparam3 =
+gstparam4 =
+gstparam5 =
+
+; allowed timeout for changing pipeline state
+state change timeout = 5; sec
+
+; 0: default value set by wfdrtspsrc element, other: user define value.
+jitter buffer latency=10
+
+; for retransmission request enable = yes, disable = no
+enable retransmission = no
+
+; for reset basetime, enable = yes, disable = no
+enable reset basetime = yes
+
+; Maximum number of nanoseconds that a buffer can be late before it is dropped by videosink (-1 unlimited)
+video sink max lateness=20000000
+
+; nanoseconds to be added to buffertimestamp by sink elements
+sink ts offset=250000000
+
+; if no, go asynchronously to PAUSED without preroll
+audio sink async=no
+
+; if no, go asynchronously to PAUSED without preroll
+video sink async=no
+
+; user agent
+user agent =
+
+[debug]
+; generating dot file representing pipeline state
+; do export GST_DEBUG_DUMP_DOT_DIR=/tmp/ in the shell
+generate dot = no
+
+; set property to wfdsrc plugin for dumping rtsp message
+dump rtsp message = yes
+
+; enable tracing buffers using pad probe
+trace buffers = no
+
+; enable tracing first buffer
+trace first buffer = no
+
+; enable tracing buffers of wfdsrc
+trace buffers of wfdsrc = no
+
+; enable dumping ts data (eg. /var/tmp/*.ts)
+dump ts data = no
+
+; enable dumping rtp data (eg. /var/tmp/screenmirroring_sink_rtp.dump)
+dump rtp data = no
+
+
+[pipeline]
+wfdsrc element = wfdsrc
+
+tsdemux element = wfdtsdemux
+
+audio hdcp element =
+
+aac parser element = aacparse
+
+aac decoder element = avdec_aac
+
+ac3 parser element = ac3parse
+
+ac3 decoder element =
+
+lpcm converter element =
+
+lpcm filter element = capsfilter
+
+audio resampler element = audioconvert
+
+audio volume element =
+
+audio sinkbin queue element = ;queue
+
+audio sink element = pulsesink
+
+video hdcp element =
+
+video h264 parser element = h264parse
+
+video h265 parser element =
+
+video h264 decoder element = avdec_h264
+
+video h265 decoder element =
+
+video converter element = videoconvert
+
+video filter element =
+
+video sink element = tizenwlsink
+
+video evas sink element = evaspixmapsink
+
+
+[wfd audio codecs]
+; 0x1: LPCM, 0x2: AAC, 0x4: AC3
+;default aac and LPCM
+audio codec=0x3
+
+audio latency=0x0
+
+;0x1 : 48000khz, 0x2: 44100khz
+audio sampling frequency=0x3
+
+; 0x1:2 channels, 0x2:4 channels, 0x4:6channels, 0x8:8channels
+audio channels=0x1
+
+
+[wfd video formats]
+; 0x0:not support, 0x1:H264
+video codec=0x1
+
+; 0x0:not supoort, 0x1: CHP, 0x2:CBP
+video profile=0x1
+
+video native resolution = 0x20
+
+video cea support=0x84ab;0x194ab
+
+video vesa support=0x1;0x5555555
+
+video hh support=0x555
+
+; 0x1:base, 0x2:high
+video profile=0x1
+
+; 0x1:level_3_1, 0x2:level_3_2, 0x4:level_4, 0x8:level_4_1, 0x10:level_4_2
+video level=0x2
+
+video latency=0x0
+
+video vertical resolution=720
+
+video horizontal resolution=1280
+
+video minimum slicesize=0
+
+video slice encoding params=200
+
+video framerate control support=11
+
+
+[wfd hdcp content protection]
+enable hdcp = no
+
+;0x0:none, 0x1:HDCP_2.0, 0x2:HDCP_2.1
+hdcp content protection=0x0
+
+hdcp port no=0
+
+
+[wfd2 video formats]
+;0x0:not support, 0x1:H264, 0x2:H265, 0x3:both
+video codec=0x3
+
+video native resolution = 0x20
+
+video non transcoding support=1
+
+[wfd2 h264 video format]
+video cea support=0x194ab
+
+video vesa support=0x5555555
+
+video hh support=0x555
+
+video profile=0x1
+
+video level=0x2
+
+video latency=0x0
+
+video vertical resolution=1080
+
+video horizontal resolution=1920
+
+video minimum slicesize=0
+
+video slice encoding params=200
+
+video framerate control support=0
+
+[wfd2 h265 video format]
+video cea support=394ab
+
+video vesa support=5555555
+
+video hh support=555
+
+; 0x1:WFD_H265_MAIN_PROFILE
+video profile=0x1
+
+; 0x1:WFD_H265_LEVEL_3_1
+video level=0x2
+
+video latency=0x0
+
+video vertical resolution=2360
+
+video horizontal resolution=3840
+
+video minimum slicesize=0
+
+video slice encoding params=200
+
+video framerate control support=0
+
+[wfd2 audio codecs]
+; 0x1: LPCM, 0x2: AAC, 0x4: AC3
+;default aac and LPCM
+audio codec=0x3
+
+;see mm_wfd_sink_wfd_enum.h
+audio lpcm mode=0x3
+
+audio aac mode=0x1
+
+audio ac3 mode=0x1
+
diff --git a/media-config-generic/hal/etc/multimedia/mused.conf b/media-config-generic/hal/etc/multimedia/mused.conf
new file mode 100644
index 0000000..38e07b8
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/mused.conf
@@ -0,0 +1,66 @@
+[muse]
+; The 'hosts' parameter defines the modules,
+; which the user would like to connect to the muse.
+; If you want to add host, then write manually.
+hosts=player, camera, recorder
+logfile=/var/log/mused/muse-server
+lockfile=/tmp/.muse_core.lock
+min_timeout=5
+max_timeout=90
+;100MB=100000
+memory_threshold=100000
+enable_watch_external_storage=1
+
+; parameters for initializing gstreamer
+; DEFAULT SET (--gst-debug=*:2)
+gstparam1=--gst-debug=*:2
+gstparam2=--gst-disable-segtrap
+gstparam3=
+gstparam4=
+gstparam5=
+gstparam6=
+gstparam7=
+gstparam8=
+gstparam9=
+gstparam10=
+
+; gstparam#=--gst-plugin-load=/usr/lib/gstreamer-1.0/libgstcoreelements.so'
+; can be substituted with gstpreload=coreelements'
+gstpreload=
+
+[player]
+; The 'player' parameter represents the muse-player.
+; This module recovers the "capi-media-player".
+path=libmuse-player.so
+preloaded=no
+timeout=60
+disable_watchdog_api=-1
+;unlimited=-1
+max_instance=-1
+caution_instance=-1
+
+[camera]
+; The 'camera' parameter represents the muse-camera.
+; This module recovers the "capi-media-camera".
+path=libmuse-camera.so
+preloaded=no
+timeout=10
+;api 2 is camera_dispatcher_start_preview
+disable_watchdog_api=2
+;unlimited=-1
+max_instance=-1
+caution_instance=-1
+
+[recorder]
+; The 'recorder' parameter represents the muse-recorder.
+; This module recovers the "capi-media-recorder".
+; This one should be paired with the 'camera' module.
+path=libmuse-recorder.so
+preloaded=no
+timeout=10
+;api 5 is recorder_start
+disable_watchdog_api=5
+;unlimited=-1
+max_instance=-1
+caution_instance=-1
+
diff --git a/media-config-generic/hal/etc/multimedia/scmirroring_src.ini b/media-config-generic/hal/etc/multimedia/scmirroring_src.ini
new file mode 100644
index 0000000..68103c5
--- /dev/null
+++ b/media-config-generic/hal/etc/multimedia/scmirroring_src.ini
@@ -0,0 +1,114 @@
+
+[general]
+
+; set default video source element
+; 0: ximagesrc, 1: xvimagesrc, 2: camerasrc, 3: videotestsrc, 4:waylandsrc
+videosrc element = 4
+
+; set default video encoder element
+video encoder element = omxh264enc
+
+disable segtrap = yes ; same effect with --gst-disable-segtrap
+
+mtu_size value = 1400
+
+video converter element =
+
+; if yes. gstreamer will not update registry
+skip rescan = yes
+
+; set default audio encoder element
+audio encoder aac name = avenc_aac
+audio encoder ac3 name = avenc_ac3
+
+; set audio codec for source
+; according to GstWFDAudioFormat
+; 0x1: LPCM, 0x2: AAC, 0x4: AC3
+; default aac and LPCM
+audio codec = 0x3
+
+; set exynos audiosrc property
+; exynosaudio device name = alsa_output.0.analog-stereo.monitor
+exynosaudio device name = alsa_output.hw_0_0.monitor
+audio properties name = props,media.role=loopback-mirroring
+
+exynosaudio buffer_time = 200000
+; set qcmsm audiosrc property
+qcmsmaudio device name = hw:0,8
+qcmsmaudio buffer_time = 1000
+
+audio latency_time = 10000
+audio do_timestamp = 0
+
+; set video codec for source
+; according to GstWFDVideoFormat
+; 0x0: Not supportted, 0x1: H264
+; default H.264
+video codec = 0x1
+
+; Video Resolutions supported need to be filled in 32 bits according to WFD spec
+video resolution_supported = 0x00000001
+
+; Bitrate range for different resolutions
+; Resolution Set 1: default
+; Resolution Set 2: 1920 x 1080
+; Resolution Set 3: 1280 x 720
+; Resolution Set 4: 960 x 540
+; Resolution Set 5: 854 x 480
+; Resolution Set 6: 640 x 360
+; Resolution Set 7: 720 Remote Touch
+; UDP bitrate settings
+INIT_UDP_resolution_set_1 = 1048576
+MIN_UDP_resolution_set_1 = 838861
+MAX_UDP_resolution_set_1 = 1572864
+
+INIT_UDP_resolution_set_2 = 5242880
+MIN_UDP_resolution_set_2 = 3670016
+MAX_UDP_resolution_set_2 = 6291456
+
+INIT_UDP_resolution_set_3 = 2621440
+MIN_UDP_resolution_set_3 = 1572864
+MAX_UDP_resolution_set_3 = 3145728
+
+INIT_UDP_resolution_set_4 = 2621440
+MIN_UDP_resolution_set_4 = 1572864
+MAX_UDP_resolution_set_4 = 3145728
+
+INIT_UDP_resolution_set_5 = 838861
+MIN_UDP_resolution_set_5 = 314573
+MAX_UDP_resolution_set_5 = 1048576
+
+INIT_UDP_resolution_set_6 = 838861
+MIN_UDP_resolution_set_6 = 314573
+MAX_UDP_resolution_set_6 = 838861
+
+INIT_UDP_resolution_set_7 = 1572864
+MIN_UDP_resolution_set_7 = 838861
+MAX_UDP_resolution_set_7 = 1572864
+
+
+; Native resolution supported CEA resolution=0, VESA resolution=1, HH resolution=2
+video native_resolution = 0
+
+; HDCP encryption
+encryption HDCP_enabled = 1
+
+; UIBC Capability
+uibc UIBC_GEN_capability = 15
+
+; parameters for initializing gstreamer
+gstparam1 =
+gstparam2 =
+gstparam3 =
+gstparam4 =
+gstparam5 =
+
+; generating dot file representing pipeline state
+generate dot = no
+
+; parameter for clock provide in audiosink
+provide clock = yes
+
+;dumping ts stream to file
+dump ts = 0
+
diff --git a/media-config-generic/hal/etc/murphy/murphy.lua b/media-config-generic/hal/etc/murphy/murphy.lua
new file mode 100644
index 0000000..9675961
--- /dev/null
+++ b/media-config-generic/hal/etc/murphy/murphy.lua
@@ -0,0 +1,99 @@
+m = murphy.get()
+
+-- load the dlog plugin
+m:try_load_plugin('dlog')
+
+-- load the console plugin
+-- m:try_load_plugin('console')
+
+-- load the dbus plugin
+-- if m:plugin_exists('dbus') then
+-- m:load_plugin('dbus')
+-- end
+
+-- load the native resource plugin
+if m:plugin_exists('resource-native') then
+ m:load_plugin('resource-native')
+ m:info("native resource plugin loaded")
+else
+ m:info("No native resource plugin found...")
+end
+
+-- load the dbus resource plugin
+m:try_load_plugin('resource-dbus', {
+ dbus_bus = "system",
+ dbus_service = "org.Murphy",
+ dbus_track = true,
+ default_zone = "driver",
+ default_class = "implicit"
+})
+
+-- load the domain control plugin
+if m:plugin_exists('domain-control') then
+ m:load_plugin('domain-control')
+else
+ m:info("No domain-control plugin found...")
+end
+
+if m:plugin_exists('glib') then
+ m:load_plugin('glib')
+else
+ m:info("No glib plugin found...")
+end
+
+-- define application classes
+application_class {
+ name = "interrupt",
+ priority = 99,
+ modal = false,
+ share = false,
+ order = "fifo"
+}
+
+application_class {
+ name = "media",
+ priority = 10,
+ modal = false,
+ share = false,
+ order = "lifo"
+}
+
+-- define zone attributes
+zone.attributes {
+ type = {mdb.string, "common", "rw"},
+ location = {mdb.string, "anywhere", "rw"}
+}
+
+-- define zones
+zone {
+ name = "driver",
+ attributes = {
+ type = "common",
+ location = "front-left"
+ }
+}
+
+-- define resource classes
+resource.class {
+ name = "video_overlay",
+ shareable = false,
+ sync_release = true
+}
+
+resource.class {
+ name = "video_decoder",
+ shareable = false,
+ sync_release = true
+}
+
+resource.class {
+ name = "video_encoder",
+ shareable = false,
+ sync_release = true
+}
+
+resource.class {
+ name = "camera",
+ shareable = false,
+ sync_release = true
+}
diff --git a/media-config-generic/hal/etc/pulse/client.conf b/media-config-generic/hal/etc/pulse/client.conf
new file mode 100644
index 0000000..3637b20
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/client.conf
@@ -0,0 +1,37 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
+## more information. Default values are commented out. Use either ; or # for
+## commenting.
+
+; default-sink =
+; default-source =
+default-server = /var/run/pulse/native
+; default-dbus-server =
+
+autospawn = no
+; daemon-binary = /usr/bin/pulseaudio
+; extra-arguments = --log-target=syslog
+
+; cookie-file =
+
+enable-shm = no
+shm-size-bytes = 4194304 # setting this 0 will use the system-default, usually 64 MiB
+
+; auto-connect-localhost = no
+; auto-connect-display = no
diff --git a/media-config-generic/hal/etc/pulse/daemon.conf b/media-config-generic/hal/etc/pulse/daemon.conf
new file mode 100644
index 0000000..431e66b
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/daemon.conf
@@ -0,0 +1,83 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+# USA.
+
+## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
+## more information. Default values are commented out. Use either ; or # for
+## commenting.
+
+daemonize = yes
+; fail = yes
+; allow-module-loading = yes
+; allow-exit = yes
+; use-pid-file = yes
+system-instance = yes
+; local-server-type = user
+; enable-shm = yes
+; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
+; lock-memory = no
+; cpu-limit = no
+
+; high-priority = yes
+; nice-level = -11
+
+realtime-scheduling = yes
+realtime-priority = 5
+
+; exit-idle-time = 20
+; scache-idle-time = 20
+
+; dl-search-path = (depends on architecture)
+
+; load-default-script-file = yes
+; default-script-file = /etc/pulse/default.pa
+
+log-target = dlog
+log-level = info
+; log-meta = no
+; log-time = no
+; log-backtrace = 0
+
+resample-method = speex-fixed-3
+; enable-remixing = yes
+; enable-lfe-remixing = no
+
+flat-volumes = no
+
+; rlimit-fsize = -1
+; rlimit-data = -1
+; rlimit-stack = -1
+; rlimit-core = -1
+; rlimit-as = -1
+; rlimit-rss = -1
+; rlimit-nproc = -1
+; rlimit-nofile = 256
+; rlimit-memlock = -1
+; rlimit-locks = -1
+; rlimit-sigpending = -1
+; rlimit-msgqueue = -1
+; rlimit-nice = 31
+; rlimit-rtprio = 9
+; rlimit-rttime = 1000000
+
+; default-sample-format = s16le
+; default-sample-rate = 44100
+alternate-sample-rate = 44100
+; default-sample-channels = 2
+; default-channel-map = front-left,front-right
+
+; default-fragments = 4
+; default-fragment-size-msec = 25
diff --git a/media-config-generic/hal/etc/pulse/default.pa b/media-config-generic/hal/etc/pulse/default.pa
new file mode 100644
index 0000000..ef8f114
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/default.pa
@@ -0,0 +1,149 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+# This startup script is used only if PulseAudio is started per-user
+# (i.e. not in system mode)
+
+.nofail
+
+### Load something into the sample cache
+#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
+#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
+#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
+#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
+
+.fail
+
+### Automatically restore the volume of streams and devices
+load-module module-device-restore
+load-module module-stream-restore
+load-module module-card-restore
+
+### Automatically augment property information from .desktop files
+### stored in /usr/share/application
+load-module module-augment-properties
+
+### Load audio drivers statically
+### (it's probably better to not load these drivers manually, but instead
+### use module-udev-detect -- see below -- for doing this automatically)
+#load-module module-alsa-sink
+#load-module module-alsa-source device=hw:1,0
+#load-module module-null-sink
+#load-module module-pipe-sink
+
+### Automatically load driver modules depending on the hardware available
+.ifexists module-udev-detect.so
+load-module module-udev-detect
+.else
+### Use the static hardware detection module (for systems that lack udev support)
+load-module module-detect
+.endif
+
+### Automatically connect sink and source if JACK server is present
+.ifexists module-jackdbus-detect.so
+.nofail
+load-module module-jackdbus-detect channels=2
+.fail
+.endif
+
+### Automatically load driver modules for Bluetooth hardware
+.ifexists module-bluetooth-policy.so
+load-module module-bluetooth-policy
+.endif
+
+.ifexists module-bluetooth-discover.so
+load-module module-bluetooth-discover
+.endif
+
+### Load several protocols
+.ifexists module-esound-protocol-unix.so
+load-module module-esound-protocol-unix
+.endif
+load-module module-native-protocol-unix
+
+### Network access (may be configured with paprefs, so leave this commented
+### here if you plan to use paprefs)
+#load-module module-esound-protocol-tcp
+#load-module module-native-protocol-tcp
+
+### Load the RTP receiver module (also configured via paprefs, see above)
+#load-module module-rtp-recv
+
+### Load the RTP sender module (also configured via paprefs, see above)
+#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
+#load-module module-rtp-send source=rtp.monitor
+
+### Load additional modules from GConf settings. This can be configured with the paprefs tool.
+### Please keep in mind that the modules configured by paprefs might conflict with manually
+### loaded modules.
+.ifexists module-gconf.so
+.nofail
+load-module module-gconf
+.fail
+.endif
+
+### Automatically restore the default sink/source when changed by the user
+### during runtime
+### NOTE: This should be loaded as early as possible so that subsequent modules
+### that look up the default sink/source get the right value
+load-module module-default-device-restore
+
+### Automatically move streams to the default sink if the sink they are
+### connected to dies, similar for sources
+load-module module-rescue-streams
+
+### Make sure we always have a sink around, even if it is a null sink.
+load-module module-always-sink
+
+### Honour intended role device property
+load-module module-intended-roles
+
+### Automatically suspend sinks/sources that become idle for too long
+load-module module-suspend-on-idle
+
+### If autoexit on idle is enabled we want to make sure we only quit
+### when no local session needs us anymore.
+.ifexists module-console-kit.so
+load-module module-console-kit
+.endif
+.ifexists module-systemd-login.so
+load-module module-systemd-login
+.endif
+
+### Enable positioned event sounds
+load-module module-position-event-sounds
+
+### Cork music/video streams when a phone stream is active
+load-module module-role-cork
+
+### Modules to allow autoloading of filters (such as echo cancellation)
+### on demand. module-filter-heuristics tries to determine what filters
+### make sense, and module-filter-apply does the heavy-lifting of
+### loading modules and rerouting streams.
+load-module module-filter-heuristics
+load-module module-filter-apply
+
+### Load DBus protocol
+.ifexists module-dbus-protocol.so
+load-module module-dbus-protocol
+.endif
+
+
+load-module module-switch-on-port-available
+
+### Make some devices default
+#set-default-sink output
+#set-default-source input
diff --git a/media-config-generic/hal/etc/pulse/device-map.json b/media-config-generic/hal/etc/pulse/device-map.json
new file mode 100644
index 0000000..e331964
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/device-map.json
@@ -0,0 +1,26 @@
+{
+ "device-types":[
+ {
+ "device-type":"builtin-speaker",
+ "playback-devices":{"normal":"tizen:0,0"}
+ },
+ {
+ "device-type":"builtin-mic",
+ "capture-devices":{"normal":"tizen:0,0"}
+ }
+ ],
+ "device-files":{
+ "playback-devices":[
+ {
+ "device-string":"tizen:0,0",
+ "role":{"normal":"rate=48000 fragment_size=4800 fragments=4"}
+ }
+ ],
+ "capture-devices":[
+ {
+ "device-string":"tizen:0,0",
+ "role":{"normal":"rate=48000 channels=2 fragment_size=4800 fragments=4"}
+ }
+ ]
+ }
+}
diff --git a/media-config-generic/hal/etc/pulse/stream-map.json b/media-config-generic/hal/etc/pulse/stream-map.json
new file mode 100644
index 0000000..164e49c
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/stream-map.json
@@ -0,0 +1,191 @@
+{
+ "latencies":[
+ {
+ "type":"low",
+ "fragsize-ms":25,
+ "minreq-ms":-1,
+ "tlength-ms":100,
+ "prebuf-ms":0,
+ "maxlength":-1
+ },
+ {
+ "type":"mid",
+ "fragsize-ms":50,
+ "minreq-ms":-1,
+ "tlength-ms":200,
+ "prebuf-ms":0,
+ "maxlength":-1
+ },
+ {
+ "type":"high",
+ "fragsize-ms":75,
+ "minreq-ms":-1,
+ "tlength-ms":400,
+ "prebuf-ms":0,
+ "maxlength":-1
+ },
+ {
+ "type":"voip",
+ "fragsize-ms":20,
+ "minreq-ms":20,
+ "tlength-ms":100,
+ "prebuf-ms":0,
+ "maxlength":-1
+ },
+ {
+ "type":"default",
+ "fragsize-ms":50,
+ "minreq-ms":-1,
+ "tlength-ms":200,
+ "prebuf-ms":-1,
+ "maxlength":-1
+ },
+ {
+ "type":"default-async",
+ "fragsize-ms":50,
+ "minreq-ms":20,
+ "tlength-ms":200,
+ "prebuf-ms":0,
+ "maxlength":-1
+ },
+ ],
+ "volumes":[
+ {
+ "type":"master",
+ "is-hal-volume":1
+ },
+ {
+ "type":"media",
+ "is-hal-volume":0
+ },
+ {
+ "type":"system",
+ "is-hal-volume":0
+ },
+ {
+ "type":"alarm",
+ "is-hal-volume":0
+ },
+ {
+ "type":"notification",
+ "is-hal-volume":0
+ },
+ {
+ "type":"voice",
+ "is-hal-volume":0
+ },
+ {
+ "type":"ringtone",
+ "is-hal-volume":0
+ },
+ {
+ "type":"voip",
+ "is-hal-volume":0
+ },
+ {
+ "type":"call",
+ "is-hal-volume":1
+ }
+ ],
+ "streams":[
+ {
+ "role":"media",
+ "priority" : 3,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"media"},
+ "avail-in-devices":["usb-audio","network"],
+ "avail-out-devices":["bt-a2dp","usb-audio","network","builtin-speaker"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder","webrtc"]
+ },
+ {
+ "role":"system",
+ "priority" : 2,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"system"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io"]
+ },
+ {
+ "role":"alarm",
+ "priority" : 4,
+ "route-type" : "auto-all",
+ "volume-types":{"in":"none","out":"alarm"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io"]
+ },
+ {
+ "role":"notification",
+ "priority" : 4,
+ "route-type" : "auto-all",
+ "volume-types":{"in":"none","out":"notification"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["builtin-speaker","bt-a2dp","usb-audio"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io"]
+ },
+ {
+ "role":"emergency",
+ "priority" : 4,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"none"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["builtin-speaker"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io"]
+ },
+ {
+ "role":"voice-information",
+ "priority" : 3,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"voice"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["bt-a2dp","usb-audio","builtin-speaker"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io"]
+ },
+ {
+ "role":"voice-recognition",
+ "priority" : 3,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"none"},
+ "avail-in-devices":["usb-audio"],
+ "avail-out-devices":["none"],
+ "avail-frameworks":["audio-io","webrtc"]
+ },
+ {
+ "role":"voice-recognition-service",
+ "priority" : 3,
+ "route-type" : "auto",
+ "volume-types":{"in":"none","out":"none"},
+ "avail-in-devices":["usb-audio"],
+ "avail-out-devices":["none"],
+ "avail-frameworks":["audio-io"]
+ },
+ {
+ "role":"ringtone-voip",
+ "priority" : 5,
+ "route-type" : "auto-all",
+ "volume-types":{"in":"none","out":"ringtone"},
+ "avail-in-devices":["none"],
+ "avail-out-devices":["bt-a2dp","builtin-speaker","usb-audio"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io","sound-manager"]
+ },
+ {
+ "role":"voip",
+ "priority" : 5,
+ "route-type" : "manual",
+ "volume-types":{"in":"none","out":"voip"},
+ "avail-in-devices":["usb-audio"],
+ "avail-out-devices":["builtin-speaker","usb-audio"],
+ "avail-frameworks":["audio-io","tone-player","sound-manager","webrtc"]
+ },
+ {
+ "role":"ext-media",
+ "priority" : 3,
+ "route-type" : "manual-ext",
+ "volume-types":{"in":"none","out":"media"},
+ "avail-in-devices":["usb-audio","network"],
+ "avail-out-devices":["bt-a2dp","usb-audio","network"],
+ "avail-frameworks":["player","wav-player","tone-player","audio-io","recorder","webrtc"]
+ },
+ ]
+}
diff --git a/media-config-generic/hal/etc/pulse/system.pa b/media-config-generic/hal/etc/pulse/system.pa
new file mode 100644
index 0000000..780d446
--- /dev/null
+++ b/media-config-generic/hal/etc/pulse/system.pa
@@ -0,0 +1,74 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+# This startup script is used only if PulseAudio is started in system
+# mode.
+
+### Automatically load driver modules depending on the hardware available
+### Load several protocols
+load-module module-native-protocol-unix auth-anonymous=1
+
+### Load module-tizenaudio-policy
+load-module module-tizenaudio-policy
+
+#.ifexists module-udev-detect.so
+load-module module-udev-detect
+#.endif
+
+### Sound Player module
+load-module module-sound-player
+load-module module-tone-player
+load-module module-role-ducking global=1 trigger_roles=solo/notification,voice-information ducking_roles=media,system,alarm,notification,voice-information,ext-media/media,ext-media volume=0%/25% fade_in=0/1000 fade_out=0/1000
+
+### Automatically load driver modules for Bluetooth hardware
+.ifexists module-bluetooth-policy.so
+load-module module-bluetooth-policy
+.endif
+
+.ifexists module-bluetooth-discover.so
+load-module module-bluetooth-discover
+.endif
+
+
+### Automatically restore the volume of streams and devices
+#load-module module-stream-restore
+#load-module module-device-restore
+
+### Automatically restore the default sink/source when changed by the user
+### during runtime
+### NOTE: This should be loaded as early as possible so that subsequent modules
+### that look up the default sink/source get the right value
+load-module module-default-device-restore
+
+.ifexists module-dbus-protocol.so
+### If you want to allow TCP connections, set access to "remote" or "local,remote".
+load-module module-dbus-protocol access=local
+.endif
+
+### Automatically move streams to the default sink if the sink they are
+### connected to dies, similar for sources
+#load-module module-rescue-streams
+
+### Make sure we always have a sink around, even if it is a null sink.
+load-module module-always-sink
+
+### Automatically suspend sinks/sources that become idle for too long
+load-module module-suspend-on-idle timeout=1
+
+load-sample-lazy camera-shutter-01 /usr/share/sounds/mm-camcorder/capture_shutter_01.ogg
+load-sample-lazy camera-shutter-02 /usr/share/sounds/mm-camcorder/capture_shutter_02.ogg
+load-sample-lazy recording-start /usr/share/sounds/mm-camcorder/recording_start_01.ogg
+load-sample-lazy recording-stop /usr/share/sounds/mm-camcorder/recording_stop_01.ogg
diff --git a/media-config-generic/hal/etc/xdg/gstomx.conf b/media-config-generic/hal/etc/xdg/gstomx.conf
new file mode 100644
index 0000000..7a92953
--- /dev/null
+++ b/media-config-generic/hal/etc/xdg/gstomx.conf
@@ -0,0 +1,84 @@
+[omxmpeg2videodec]
+type-name=GstOMXMPEG2VideoDec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+
+[omxmpeg4videodec]
+type-name=GstOMXMPEG4VideoDec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+
+[omxh263dec]
+type-name=GstOMXH263Dec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+
+[omxh264dec]
+type-name=GstOMXH264Dec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+
+[omxmjpegdec]
+type-name=GstOMXMJPEGDec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+
+[omxvc1dec]
+type-name=GstOMXWMVDec
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_decode
+rank=257
+in-port-index=130
+out-port-index=131
+hacks=no-component-role
+sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},width=(int)[1,MAX],height=(int)[1,MAX]
+
+[omxh264enc]
+type-name=GstOMXH264Enc
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.video_encode
+rank=257
+in-port-index=200
+out-port-index=201
+hacks=no-component-role
+
+[omxanalogaudiosink]
+type-name=GstOMXAnalogAudioSink
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.audio_render
+rank=257
+in-port-index=100
+out-port-index=101
+hacks=no-component-role
+sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,2]
+
+[omxhdmiaudiosink]
+type-name=GstOMXHdmiAudioSink
+core-name=/opt/vc/lib/libopenmaxil.so
+component-name=OMX.broadcom.audio_render
+rank=258
+in-port-index=100
+out-port-index=101
+hacks=no-component-role
+sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)interleaved,rate=(int){8000,11025,16000,22050,24000,32000,44100,48000,88200,96000,176400,192000},channels=(int)[1,8];audio/x-ac3,framed=(boolean)true;audio/x-dts,framed=(boolean)true,block-size=(int){512,1024,2048}
+
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf
new file mode 100644
index 0000000..db78eb4
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-aux.conf
@@ -0,0 +1,62 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where an 'Aux' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 90
+name = analog-input
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf
new file mode 100644
index 0000000..baf674a
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-fm.conf
@@ -0,0 +1,62 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where an 'FM' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 70
+name = analog-input-radio
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+.include analog-input.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf
new file mode 100644
index 0000000..4be5722
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-linein.conf
@@ -0,0 +1,61 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where a 'Line' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 90
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf
new file mode 100644
index 0000000..f7f3085
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic-line.conf
@@ -0,0 +1,63 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where a 'Mic/Line' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 90
+name = analog-input
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
+.include analog-input-mic.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
new file mode 100644
index 0000000..2a36f2f
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf
@@ -0,0 +1,63 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where a 'Mic' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 100
+name = analog-input-microphone
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
+.include analog-input-mic.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common
new file mode 100644
index 0000000..b35e7af
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-mic.conf.common
@@ -0,0 +1,63 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Common element for all microphone inputs
+;
+; See analog-output.conf.common for an explanation on the directives
+
+;;; 'Mic Select'
+
+[Element Mic Select]
+enumeration = select
+
+[Option Mic Select:Mic1]
+name = input-microphone
+priority = 20
+
+[Option Mic Select:Mic2]
+name = input-microphone
+priority = 19
+
+;;; Various Boosts
+
+[Element Mic Boost (+20dB)]
+switch = select
+volume = merge
+
+[Option Mic Boost (+20dB):on]
+name = input-boost-on
+
+[Option Mic Boost (+20dB):off]
+name = input-boost-off
+
+[Element Mic Boost]
+switch = select
+volume = merge
+
+[Option Mic Boost:on]
+name = input-boost-on
+
+[Option Mic Boost:off]
+name = input-boost-off
+
+[Element Front Mic Boost]
+switch = select
+
+[Option Front Mic Boost:on]
+name = input-boost-on
+
+[Option Front Mic Boost:off]
+name = input-boost-off
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf
new file mode 100644
index 0000000..8531ec7
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-tvtuner.conf
@@ -0,0 +1,62 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where a 'TV Tuner' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 70
+name = analog-input-video
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+switch = off
+volume = off
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf
new file mode 100644
index 0000000..74c76f0
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input-video.conf
@@ -0,0 +1,61 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; For devices where a 'Video' element exists
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 70
+
+[Element Capture]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+switch = off
+volume = off
+
+[Element Line]
+switch = off
+volume = off
+
+[Element Aux]
+switch = off
+volume = off
+
+[Element Video]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic/Line]
+switch = off
+volume = off
+
+[Element TV Tuner]
+switch = off
+volume = off
+
+[Element FM]
+switch = off
+volume = off
+
+.include analog-input.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf
new file mode 100644
index 0000000..5055f90
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf
@@ -0,0 +1,54 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; A fallback for devices that lack seperate Mic/Line/Aux/Video/TV
+; Tuner/FM elements
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 100
+
+[Element Capture]
+required = volume
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Mic]
+required-absent = any
+
+[Element Line]
+required-absent = any
+
+[Element Aux]
+required-absent = any
+
+[Element Video]
+required-absent = any
+
+[Element Mic/Line]
+required-absent = any
+
+[Element TV Tuner]
+required-absent = any
+
+[Element FM]
+required-absent = any
+
+.include analog-input.conf.common
+.include analog-input-mic.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common
new file mode 100644
index 0000000..951e11f
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-input.conf.common
@@ -0,0 +1,294 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Mixer path for PulseAudio's ALSA backend, common elements for all
+; input paths. If multiple options by the same id are discovered they
+; will be suffixed with a number to distuingish them, in the same
+; order they appear here.
+;
+; Source selection should use the following names:
+;
+; input -- If we don't know the exact kind of input
+; input-microphone
+; input-microphone-internal
+; input-microphone-external
+; input-linein
+; input-video
+; input-radio
+; input-docking-microphone
+; input-docking-linein
+; input-docking
+;
+; We explicitly don't want to wrap the following sources:
+;
+; CD
+; Synth/MIDI
+; Phone
+; Mix
+; Digital/SPDIF
+; Master
+; PC Speaker
+;
+; See analog-output.conf.common for an explanation on the directives
+
+;;; 'Input Source Select'
+
+[Element Input Source Select]
+enumeration = select
+
+[Option Input Source Select:Input1]
+name = input
+priority = 10
+
+[Option Input Source Select:Input2]
+name = input
+priority = 5
+
+;;; 'Input Source'
+
+[Element Input Source]
+enumeration = select
+
+[Option Input Source:Mic]
+name = input-microphone
+priority = 20
+
+[Option Input Source:Microphone]
+name = input-microphone
+priority = 20
+
+[Option Input Source:Front Mic]
+name = input-microphone
+priority = 19
+
+[Option Input Source:Front Microphone]
+name = input-microphone
+priority = 19
+
+[Option Input Source:Internal Mic]
+name = input-microphone
+priority = 19
+
+[Option Input Source:Line]
+name = input-linein
+priority = 18
+
+[Option Input Source:Line-In]
+name = input-linein
+priority = 18
+
+[Option Input Source:Line In]
+name = input-linein
+priority = 18
+
+[Option Input Source:Docking-Station]
+name = input-docking
+priority = 17
+
+[Option Input Source:AUX IN]
+name = input
+priority = 10
+
+;;; 'Capture Source'
+
+[Element Capture Source]
+enumeration = select
+
+[Option Capture Source:TV Tuner]
+name = input-video
+
+[Option Capture Source:FM]
+name = input-radio
+
+[Option Capture Source:Mic/Line]
+name = input
+
+[Option Capture Source:Line/Mic]
+name = input
+
+[Option Capture Source:Mic]
+name = input-microphone
+
+[Option Capture Source:Microphone]
+name = input-microphone
+
+[Option Capture Source:Int Mic]
+name = input-microphone-internal
+
+[Option Capture Source:Int DMic]
+name = input-microphone-internal
+
+[Option Capture Source:Internal Mic]
+name = input-microphone-internal
+
+[Option Capture Source:iMic]
+name = input-microphone-internal
+
+[Option Capture Source:i-Mic]
+name = input-microphone-internal
+
+[Option Capture Source:Internal Microphone]
+name = input-microphone-internal
+
+[Option Capture Source:Front Mic]
+name = input-microphone
+
+[Option Capture Source:Front Microphone]
+name = input-microphone
+
+[Option Capture Source:Rear Mic]
+name = input-microphone
+
+[Option Capture Source:Mic1]
+name = input-microphone
+
+[Option Capture Source:Mic2]
+name = input-microphone
+
+[Option Capture Source:D-Mic]
+name = input-microphone
+
+[Option Capture Source:IntMic]
+name = input-microphone-internal
+
+[Option Capture Source:ExtMic]
+name = input-microphone-external
+
+[Option Capture Source:Ext Mic]
+name = input-microphone-external
+
+[Option Capture Source:E-Mic]
+name = input-microphone-external
+
+[Option Capture Source:e-Mic]
+name = input-microphone-external
+
+[Option Capture Source:LineIn]
+name = input-linein
+
+[Option Capture Source:Analog]
+name = input
+
+[Option Capture Source:Line]
+name = input-linein
+
+[Option Capture Source:Line-In]
+name = input-linein
+
+[Option Capture Source:Line In]
+name = input-linein
+
+[Option Capture Source:Video]
+name = input-video
+
+[Option Capture Source:Aux]
+name = input
+
+[Option Capture Source:Aux0]
+name = input
+
+[Option Capture Source:Aux1]
+name = input
+
+[Option Capture Source:Aux2]
+name = input
+
+[Option Capture Source:Aux3]
+name = input
+
+[Option Capture Source:AUX IN]
+name = input
+
+[Option Capture Source:Aux In]
+name = input
+
+[Option Capture Source:AOUT]
+name = input
+
+[Option Capture Source:AUX]
+name = input
+
+[Option Capture Source:Cam Mic]
+name = input-microphone
+
+[Option Capture Source:Digital Mic]
+name = input-microphone
+
+[Option Capture Source:Digital Mic 1]
+name = input-microphone
+
+[Option Capture Source:Digital Mic 2]
+name = input-microphone
+
+[Option Capture Source:Analog Inputs]
+name = input
+
+[Option Capture Source:Unknown1]
+name = input
+
+[Option Capture Source:Unknown2]
+name = input
+
+[Option Capture Source:Docking-Station]
+name = input-docking
+
+[Option Capture Source:Dock Mic]
+name = input-docking-microphone
+
+;;; 'Mic Jack Mode'
+
+[Element Mic Jack Mode]
+enumeration = select
+
+[Option Mic Jack Mode:Mic In]
+name = input-microphone
+
+[Option Mic Jack Mode:Line In]
+name = input-linein
+
+;;; 'Digital Input Source'
+
+[Element Digital Input Source]
+enumeration = select
+
+[Option Digital Input Source:Analog Inputs]
+name = input
+
+[Option Digital Input Source:Digital Mic 1]
+name = input-microphone
+
+[Option Digital Input Source:Digital Mic 2]
+name = input-microphone
+
+;;; Various Boosts
+
+[Element Capture Boost]
+switch = select
+
+[Option Capture Boost:on]
+name = input-boost-on
+
+[Option Capture Boost:off]
+name = input-boost-off
+
+[Element Auto Gain Control]
+switch = select
+
+[Option Auto Gain Control:on]
+name = input-agc-on
+
+[Option Auto Gain Control:off]
+name = input-agc-off
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf
new file mode 100644
index 0000000..f2fd31c
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones-2.conf
@@ -0,0 +1,82 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Path for mixers that have a 'Headphone2' control
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 89
+
+[Element Hardware Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master Mono]
+switch = off
+volume = off
+
+; This profile path is intended to control the second headphones, not
+; the first headphones. But it should not hurt if we leave the
+; headphone jack enabled nonetheless.
+[Element Headphone]
+switch = mute
+volume = zero
+
+[Element Headphone2]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Speaker]
+switch = off
+volume = off
+
+[Element Front]
+switch = off
+volume = off
+
+[Element Rear]
+switch = off
+volume = off
+
+[Element Surround]
+switch = off
+volume = off
+
+[Element Side]
+switch = off
+volume = off
+
+[Element Center]
+switch = off
+volume = off
+
+[Element LFE]
+switch = off
+volume = off
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
new file mode 100644
index 0000000..2131cfe
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf
@@ -0,0 +1,82 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Path for mixers that have a 'Headphone' control
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 90
+
+[Element Hardware Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master Mono]
+switch = off
+volume = off
+
+[Element Headphone]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+; This profile path is intended to control the first headphones, not
+; the second headphones. But it should not hurt if we leave the second
+; headphone jack enabled nonetheless.
+[Element Headphone2]
+switch = mute
+volume = zero
+
+[Element Speaker]
+switch = off
+volume = off
+
+[Element Front]
+switch = off
+volume = off
+
+[Element Rear]
+switch = off
+volume = off
+
+[Element Surround]
+switch = off
+volume = off
+
+[Element Side]
+switch = off
+volume = off
+
+[Element Center]
+switch = off
+volume = off
+
+[Element LFE]
+switch = off
+volume = off
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf
new file mode 100644
index 0000000..0a43e27
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-lfe-on-mono.conf
@@ -0,0 +1,85 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Intended for usage in laptops that have a seperate LFE speaker
+; connected to the Master mono connector
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 40
+
+[Element Hardware Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = mute
+volume = merge
+override-map.1 = all-no-lfe
+override-map.2 = all-left,all-right
+
+[Element Master Mono]
+required = any
+switch = mute
+volume = merge
+override-map.1 = lfe
+override-map.2 = lfe,lfe
+
+; This profile path is intended to control the speaker, not the
+; headphones. But it should not hurt if we leave the headphone jack
+; enabled nonetheless.
+[Element Headphone]
+switch = mute
+volume = zero
+
+[Element Headphone2]
+switch = mute
+volume = zero
+
+[Element Speaker]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Front]
+switch = off
+volume = off
+
+[Element Rear]
+switch = off
+volume = off
+
+[Element Surround]
+switch = off
+volume = off
+
+[Element Side]
+switch = off
+volume = off
+
+[Element Center]
+switch = off
+volume = off
+
+[Element LFE]
+switch = off
+volume = off
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf
new file mode 100644
index 0000000..542edc4
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-mono.conf
@@ -0,0 +1,82 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Intended for usage on boards that have a seperate Mono output plug.
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 50
+
+[Element Hardware Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = off
+volume = off
+
+[Element Master Mono]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+; This profile path is intended to control the speaker, not the
+; headphones. But it should not hurt if we leave the headphone jack
+; enabled nonetheless.
+[Element Headphone]
+switch = mute
+volume = zero
+
+[Element Headphone2]
+switch = mute
+volume = zero
+
+[Element Speaker]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Front]
+switch = off
+volume = off
+
+[Element Rear]
+switch = off
+volume = off
+
+[Element Surround]
+switch = off
+volume = off
+
+[Element Side]
+switch = off
+volume = off
+
+[Element Center]
+switch = off
+volume = off
+
+[Element LFE]
+switch = off
+volume = off
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf
new file mode 100644
index 0000000..aea7853
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output-speaker.conf
@@ -0,0 +1,94 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Path for mixers that have a 'Speaker' control
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 100
+
+[Element Hardware Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master Mono]
+switch = off
+volume = off
+
+; This profile path is intended to control the speaker, not the
+; headphones. But it should not hurt if we leave the headphone jack
+; enabled nonetheless.
+[Element Headphone]
+switch = mute
+volume = zero
+
+[Element Headphone2]
+switch = mute
+volume = zero
+
+[Element Speaker]
+required = any
+switch = mute
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Front]
+switch = mute
+volume = merge
+override-map.1 = all-front
+override-map.2 = front-left,front-right
+
+[Element Rear]
+switch = mute
+volume = merge
+override-map.1 = all-rear
+override-map.2 = rear-left,rear-right
+
+[Element Surround]
+switch = mute
+volume = merge
+override-map.1 = all-rear
+override-map.2 = rear-left,rear-right
+
+[Element Side]
+switch = mute
+volume = merge
+override-map.1 = all-side
+override-map.2 = side-left,side-right
+
+[Element Center]
+switch = mute
+volume = merge
+override-map.1 = all-center
+override-map.2 = all-center,all-center
+
+[Element LFE]
+switch = mute
+volume = merge
+override-map.1 = lfe
+override-map.2 = lfe,lfe
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf
new file mode 100644
index 0000000..fc30800
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf
@@ -0,0 +1,92 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Intended for the 'default' output. Note that a-o-speaker.conf has a
+; higher priority than this
+;
+; See analog-output.conf.common for an explanation on the directives
+
+[General]
+priority = 99
+
+[Element Hardware Master]
+switch = ignore
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master]
+switch = ignore
+volume = ignore
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element Master Mono]
+switch = off
+volume = off
+
+; This profile path is intended to control the default output, not the
+; headphones. But it should not hurt if we leave the headphone jack
+; enabled nonetheless.
+[Element Headphone]
+switch = ignore
+volume = zero
+
+[Element Headphone2]
+switch = ignore
+volume = zero
+
+[Element Speaker]
+switch = ignore
+volume = off
+
+[Element Front]
+switch = ignore
+volume = merge
+override-map.1 = all-front
+override-map.2 = front-left,front-right
+
+[Element Rear]
+switch = ignore
+volume = merge
+override-map.1 = all-rear
+override-map.2 = rear-left,rear-right
+
+[Element Surround]
+switch = ignore
+volume = merge
+override-map.1 = all-rear
+override-map.2 = rear-left,rear-right
+
+[Element Side]
+switch = ignore
+volume = merge
+override-map.1 = all-side
+override-map.2 = side-left,side-right
+
+[Element Center]
+switch = ignore
+volume = merge
+override-map.1 = all-center
+override-map.2 = all-center,all-center
+
+[Element LFE]
+switch = ignore
+volume = merge
+override-map.1 = lfe
+override-map.2 = lfe,lfe
+
+.include analog-output.conf.common
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
new file mode 100644
index 0000000..3204846
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common
@@ -0,0 +1,128 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Common part of all paths
+
+; So here's generally how mixer paths are used by PA: PA goes through
+; a mixer path file from top to bottom and checks if a mixer element
+; described therein exists. If so it is added to the list of mixer
+; elements PA will control, keeping the order it read them in. If a
+; mixer element described here has set the required= or
+; required-absent= directives a path might not be accepted as valid
+; and is ignored in its entirety (see below). However usually if a
+; element listed here is missing this one element is ignored but not
+; the entire path.
+;
+; When a device shall be muted/unmuted *all* elements listed in a path
+; file with "switch = mute" will be toggled.
+;
+; When a device shall change its volume, PA will got through the list
+; of all elements with "volume = merge" and set the volume on the
+; first element. If that element does not support dB volumes, this is
+; where the story ends. If it does support dB volumes, PA divides the
+; requested volume by the volume that was set on this element, and
+; then go on to the next element with "volume = merge" and then set
+; that there, and so on. That way the first volume element in the
+; path will be the one that does the 'biggest' part of the overall
+; volume adjustment, with the remaining elements usually being set to
+; some value next to 0dB. This logic makes sure we get the full range
+; over all volume sliders and a very high granularity of volumes
+; already in hardware.
+;
+; All switches and enumerations set to "select" are exposed via the
+; "port" functionality of sinks/sources. Basically every possible
+; switch setting and every possible enumeration setting will be
+; combined and made into a "port". So make sure you don't list too
+; many switches/enums for exposing, because the number of ports might
+; rise exponentially.
+;
+; Only one path can be selected at a time. All paths that are valid
+; for an audio device will be exposed as "port" for the sink/source.
+
+
+; [General]
+; priority = ... # Priority for this path
+; description = ...
+;
+; [Option ...:...] # For each option of an enumeration or switch element
+; # that shall be exposed as a sink/source port. Needs to
+; # be named after the Element, followed by a colon, followed
+; # by the option name, resp. on/off if the element is a switch.
+; name = ... # Logical name to use in the path identifier
+; priority = ... # Priority if this is made into a device port
+;
+; [Element ...] # For each element that we shall control
+; required = ignore | switch | volume | enumeration | any # If set, require this element to be of this kind and available,
+; # otherwise don't consider this path valid for the card
+; required-absent = ignore | switch | volume # If set, require this element to not be of this kind and not
+; # available, otherwise don't consider this path valid for the card
+;
+; switch = ignore | mute | off | on | select # What to do with this switch: ignore it, make it follow mute status,
+; # always set it to off, always to on, or make it selectable as port.
+; # If set to 'select' you need to define an Option section for on
+; # and off
+; volume = ignore | merge | off | zero # What to do with this volume: ignore it, merge it into the device
+; # volume slider, always set it to the lowest value possible, or always
+; # set it to 0 dB (for whatever that means)
+; enumeration = ignore | select # What to do with this enumeration, ignore it or make it selectable
+; # via device ports. If set to 'select' you need to define an Option section
+; # for each of the items you want to expose
+; direction = playback | capture # Is this relevant only for playback or capture? If not set this will implicitly be
+; # set the direction of the PCM device is opened as. Generally this doesn't need to be set
+; # unless you have a broken driver that has playback controls marked for capture or vice
+; # versa
+; direction-try-other = no | yes # If the element does not supported what is requested, try the other direction, too?
+;
+; override-map.1 = ... # Override the channel mask of the mixer control if the control only exposes a single channel
+; override-map.2 = ... # Override the channel masks of the mixer control if the control only exposes two channels
+; # Override maps should list for each element channel which high-level channels it controls via a
+; # channel mask. A channel mask may either be the name of a single channel, or the words "all-left",
+; # "all-right", "all-center", "all-front", "all-rear", and "all" to encode a specific subset of
+; # channels in a mask
+
+[Element PCM]
+switch = ignore
+volume = merge
+override-map.1 = all
+override-map.2 = all-left,all-right
+
+[Element External Amplifier]
+switch = select
+
+[Option External Amplifier:on]
+name = output-amplifier-on
+priority = 10
+
+[Option External Amplifier:off]
+name = output-amplifier-off
+priority = 0
+
+;;; 'Analog Output'
+
+[Element Analog Output]
+enumeration = select
+
+[Option Analog Output:Speakers]
+name = output-speaker
+priority = 10
+
+[Option Analog Output:Headphones]
+name = output-headphones
+priority = 9
+
+[Option Analog Output:FP Headphones]
+name = output-headphones
+priority = 8
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf
new file mode 100644
index 0000000..9838138
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/default.conf
@@ -0,0 +1,144 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Default profile definitions for the ALSA backend of PulseAudio. This
+; is used as fallback for all cards that have no special mapping
+; assigned. (and should be good enough for the vast majority of
+; cards). Use the udev property PULSE_PROFILE_SET to assign a
+; different profile set than this one to a device. So what is this
+; about? Simply, what we do here is map ALSA devices to how they are
+; exposed in PA. We say which ALSA device string to use to open a
+; device, which channel mapping to use then, and which mixer path to
+; use. This is encoded in a 'mapping'. Multiple of these mappings can
+; be bound together in a 'profile' which is then directly exposed in
+; the UI as a card profile. Each mapping assigned to a profile will
+; result in one sink/source to be created if the profile is selected
+; for the card.
+
+; [General]
+; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate
+; # them by combining every input mapping with every output mapping.
+;
+; [Mapping id]
+; device-strings = ... # ALSA device string. %f will be replaced by the card identifier.
+; channel-map = ... # Channel mapping to use for this device
+; description = ...
+; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed.
+; # If multiple are found to be working they will be available as device ports
+; paths-output = ...
+; element-input = ... # Instead of configuring a full mixer path simply configure a single
+; # mixer element for volume/mute handling
+; element-output = ...
+; priority = ...
+; direction = any | input | output # Only useful for?
+;
+; [Profile id]
+; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be
+; # defined in this file too
+; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be
+; # defined in this file too
+; description = ...
+; priority = ... # Numeric value to deduce priority for this profile
+; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile
+; # will be assumed as working without probing. Makes initialization
+; # a bit faster but only works if the card is really known well.
+
+[General]
+auto-profiles = yes
+
+[Mapping analog-mono]
+device-strings = hw:0
+channel-map = mono
+paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
+paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
+priority = 1
+
+[Mapping analog-stereo]
+device-strings = front:%f hw:0
+channel-map = left,right
+paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
+paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
+priority = 10
+
+[Mapping analog-surround-40]
+device-strings = surround40:%f
+channel-map = front-left,front-right,rear-left,rear-right
+paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
+priority = 7
+direction = output
+
+[Mapping analog-surround-41]
+device-strings = surround41:%f
+channel-map = front-left,front-right,rear-left,rear-right,lfe
+paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
+priority = 8
+direction = output
+
+[Mapping analog-surround-50]
+device-strings = surround50:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center
+paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
+priority = 7
+direction = output
+
+[Mapping analog-surround-51]
+device-strings = surround51:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
+paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
+priority = 8
+direction = output
+
+[Mapping analog-surround-71]
+device-strings = surround71:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right
+description = Analog Surround 7.1
+paths-output = analog-output analog-output-speaker analog-output-lfe-on-mono
+priority = 7
+direction = output
+
+[Mapping iec958-stereo]
+device-strings = iec958:%f
+channel-map = left,right
+priority = 5
+
+[Mapping iec958-surround-40]
+device-strings = iec958:%f
+channel-map = front-left,front-right,rear-left,rear-right
+priority = 1
+
+[Mapping iec958-ac3-surround-40]
+device-strings = a52:%f
+channel-map = front-left,front-right,rear-left,rear-right
+priority = 2
+direction = output
+
+[Mapping iec958-ac3-surround-51]
+device-strings = a52:%f
+channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
+priority = 3
+direction = output
+
+[Mapping hdmi-stereo]
+device-strings = hdmi:%f
+channel-map = left,right
+priority = 4
+direction = output
+
+; An example for defining multiple-sink profiles
+#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
+#description = Foobar
+#output-mappings = analog-stereo iec958-stereo
+#input-mappings = analog-stereo
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf
new file mode 100644
index 0000000..2b83530
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio4dj.conf
@@ -0,0 +1,91 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Native Instruments Audio 4 DJ
+;
+; This card has two stereo pairs of input and two stereo pairs of
+; output, named channels A and B. Channel B has an additional
+; Headphone connector.
+;
+; We knowingly only define a subset of the theoretically possible
+; mapping combinations as profiles here.
+;
+; See default.conf for an explanation on the directives used here.
+
+[General]
+auto-profiles = no
+
+[Mapping analog-stereo-a]
+description = Analog Stereo Channel A
+device-strings = hw:%f,0,0
+channel-map = left,right
+
+[Mapping analog-stereo-b-output]
+description = Analog Stereo Channel B (Headphones)
+device-strings = hw:%f,0,1
+channel-map = left,right
+direction = output
+
+[Mapping analog-stereo-b-input]
+description = Analog Stereo Channel B
+device-strings = hw:%f,0,1
+channel-map = left,right
+direction = input
+
+[Profile output:analog-stereo-all+input:analog-stereo-all]
+description = Analog Stereo Duplex Channels A, B (Headphones)
+output-mappings = analog-stereo-a analog-stereo-b-output
+input-mappings = analog-stereo-a analog-stereo-b-input
+priority = 100
+skip-probe = yes
+
+[Profile output:analog-stereo-a+input:analog-stereo-a]
+description = Analog Stereo Duplex Channel A
+output-mappings = analog-stereo-a
+input-mappings = analog-stereo-a
+priority = 40
+skip-probe = yes
+
+[Profile output:analog-stereo-b+input:analog-stereo-b]
+description = Analog Stereo Duplex Channel B (Headphones)
+output-mappings = analog-stereo-b-output
+input-mappings = analog-stereo-b-input
+priority = 50
+skip-probe = yes
+
+[Profile output:analog-stereo-a]
+description = Analog Stereo Output Channel A
+output-mappings = analog-stereo-a
+priority = 5
+skip-probe = yes
+
+[Profile output:analog-stereo-b]
+description = Analog Stereo Output Channel B (Headphones)
+output-mappings = analog-stereo-b-output
+priority = 6
+skip-probe = yes
+
+[Profile input:analog-stereo-a]
+description = Analog Stereo Input Channel A
+input-mappings = analog-stereo-a
+priority = 2
+skip-probe = yes
+
+[Profile input:analog-stereo-b]
+description = Analog Stereo Input Channel B
+input-mappings = analog-stereo-b-input
+priority = 1
+skip-probe = yes
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf
new file mode 100644
index 0000000..3fe3cc5
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/native-instruments-audio8dj.conf
@@ -0,0 +1,162 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Native Instruments Audio 8 DJ
+;
+; This card has four stereo pairs of input and four stereo pairs of
+; output, named channels A to D. Channel C has an additional Mic/Line
+; connector, channel D an additional Headphone connector.
+;
+; We knowingly only define a subset of the theoretically possible
+; mapping combinations as profiles here.
+;
+; See default.conf for an explanation on the directives used here.
+
+[General]
+auto-profiles = no
+
+[Mapping analog-stereo-a]
+description = Analog Stereo Channel A
+device-strings = hw:%f,0,0
+channel-map = left,right
+
+[Mapping analog-stereo-b]
+description = Analog Stereo Channel B
+device-strings = hw:%f,0,1
+channel-map = left,right
+
+# Since we want to set a different description for channel C's/D's input
+# and output we define two seperate mappings for them
+[Mapping analog-stereo-c-output]
+description = Analog Stereo Channel C
+device-strings = hw:%f,0,2
+channel-map = left,right
+direction = output
+
+[Mapping analog-stereo-c-input]
+description = Analog Stereo Channel C (Line/Mic)
+device-strings = hw:%f,0,2
+channel-map = left,right
+direction = input
+
+[Mapping analog-stereo-d-output]
+description = Analog Stereo Channel D (Headphones)
+device-strings = hw:%f,0,3
+channel-map = left,right
+direction = output
+
+[Mapping analog-stereo-d-input]
+description = Analog Stereo Channel D
+device-strings = hw:%f,0,3
+channel-map = left,right
+direction = input
+
+[Profile output:analog-stereo-all+input:analog-stereo-all]
+description = Analog Stereo Duplex Channels A, B, C (Line/Mic), D (Headphones)
+output-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-output analog-stereo-d-output
+input-mappings = analog-stereo-a analog-stereo-b analog-stereo-c-input analog-stereo-d-input
+priority = 100
+skip-probe = yes
+
+[Profile output:analog-stereo-d+input:analog-stereo-c]
+description = Analog Stereo Channel D (Headphones) Output, Channel C (Line/Mic) Input
+output-mappings = analog-stereo-d-output
+input-mappings = analog-stereo-c-input
+priority = 90
+skip-probe = yes
+
+[Profile output:analog-stereo-c-d+input:analog-stereo-c-d]
+description = Analog Stereo Duplex Channels C (Line/Mic), D (Line/Mic)
+output-mappings = analog-stereo-c-output analog-stereo-d-output
+input-mappings = analog-stereo-c-input analog-stereo-d-input
+priority = 80
+skip-probe = yes
+
+[Profile output:analog-stereo-a+input:analog-stereo-a]
+description = Analog Stereo Duplex Channel A
+output-mappings = analog-stereo-a
+input-mappings = analog-stereo-a
+priority = 50
+skip-probe = yes
+
+[Profile output:analog-stereo-b+input:analog-stereo-b]
+description = Analog Stereo Duplex Channel B
+output-mappings = analog-stereo-b
+input-mappings = analog-stereo-b
+priority = 40
+skip-probe = yes
+
+[Profile output:analog-stereo-c+input:analog-stereo-c]
+description = Analog Stereo Duplex Channel C (Line/Mic)
+output-mappings = analog-stereo-c-output
+input-mappings = analog-stereo-c-input
+priority = 60
+skip-probe = yes
+
+[Profile output:analog-stereo-d+input:analog-stereo-d]
+description = Analog Stereo Duplex Channel D (Headphones)
+output-mappings = analog-stereo-d-output
+input-mappings = analog-stereo-d-input
+priority = 70
+skip-probe = yes
+
+[Profile output:analog-stereo-a]
+description = Analog Stereo Output Channel A
+output-mappings = analog-stereo-a
+priority = 6
+skip-probe = yes
+
+[Profile output:analog-stereo-b]
+description = Analog Stereo Output Channel B
+output-mappings = analog-stereo-b
+priority = 5
+skip-probe = yes
+
+[Profile output:analog-stereo-c]
+description = Analog Stereo Output Channel C
+output-mappings = analog-stereo-c-output
+priority = 7
+skip-probe = yes
+
+[Profile output:analog-stereo-d]
+description = Analog Stereo Output Channel D (Headphones)
+output-mappings = analog-stereo-d-output
+priority = 8
+skip-probe = yes
+
+[Profile input:analog-stereo-a]
+description = Analog Stereo Input Channel A
+input-mappings = analog-stereo-a
+priority = 2
+skip-probe = yes
+
+[Profile input:analog-stereo-b]
+description = Analog Stereo Input Channel B
+input-mappings = analog-stereo-b
+priority = 1
+skip-probe = yes
+
+[Profile input:analog-stereo-c]
+description = Analog Stereo Input Channel C (Line/Mic)
+input-mappings = analog-stereo-c-input
+priority = 4
+skip-probe = yes
+
+[Profile input:analog-stereo-d]
+description = Analog Stereo Input Channel D
+input-mappings = analog-stereo-d-input
+priority = 3
+skip-probe = yes
diff --git a/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf
new file mode 100644
index 0000000..6c44736
--- /dev/null
+++ b/media-config-generic/hal/share/pulseaudio/alsa-mixer/profile-sets/tizen_usb.conf
@@ -0,0 +1,136 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation; either version 2.1 of the
+# License, or (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+
+; Default profile definitions for the ALSA backend of PulseAudio. This
+; is used as fallback for all cards that have no special mapping
+; assigned (and should be good enough for the vast majority of
+; cards). If you want to assign a different profile set than this one
+; to a device, either set the udev property PULSE_PROFILE_SET for the
+; card, or use the "profile_set" module argument when loading
+; module-alsa-card.
+;
+; So what is this about? Simply, what we do here is map ALSA devices
+; to how they are exposed in PA. We say which ALSA device string to
+; use to open a device, which channel mapping to use then, and which
+; mixer path to use. This is encoded in a 'mapping'. Multiple of these
+; mappings can be bound together in a 'profile' which is then directly
+; exposed in the UI as a card profile. Each mapping assigned to a
+; profile will result in one sink/source to be created if the profile
+; is selected for the card.
+;
+; Additionally, the path set configuration files can describe the
+; decibel values assigned to the steps of the volume elements. This
+; can be used to work around situations when the alsa driver doesn't
+; provide any decibel information, or when the information is
+; incorrect.
+
+
+; [General]
+; auto-profiles = no | yes # Instead of defining all profiles manually, autogenerate
+; # them by combining every input mapping with every output mapping.
+;
+; [Mapping id]
+; device-strings = ... # ALSA device string. %f will be replaced by the card identifier.
+; channel-map = ... # Channel mapping to use for this device
+; description = ...
+; paths-input = ... # A list of mixer paths to use. Every path in this list will be probed.
+; # If multiple are found to be working they will be available as device ports
+; paths-output = ...
+; element-input = ... # Instead of configuring a full mixer path simply configure a single
+; # mixer element for volume/mute handling
+; element-output = ...
+; priority = ...
+; direction = any | input | output # Only useful for?
+;
+; [Profile id]
+; input-mappings = ... # Lists mappings for sources on this profile, those mapping must be
+; # defined in this file too
+; output-mappings = ... # Lists mappings for sinks on this profile, those mappings must be
+; # defined in this file too
+; description = ...
+; priority = ... # Numeric value to deduce priority for this profile
+; skip-probe = no | yes # Skip probing for availability? If this is yes then this profile
+; # will be assumed as working without probing. Makes initialization
+; # a bit faster but only works if the card is really known well.
+;
+; [DecibelFix element] # Decibel fixes can be used to work around missing or incorrect dB
+; # information from alsa. A decibel fix is a table that maps volume steps
+; # to decibel values for one volume element. The "element" part in the
+; # section title is the name of the volume element.
+; #
+; # NOTE: This feature is meant just as a help for figuring out the correct
+; # decibel values. PulseAudio is not the correct place to maintain the
+; # decibel mappings!
+; #
+; # If you need this feature, then you should make sure that when you have
+; # the correct values figured out, the alsa driver developers get informed
+; # too, so that they can fix the driver.
+;
+; db-values = ... # The option value consists of pairs of step numbers and decibel values.
+; # The pairs are separated with whitespace, and steps are separated from
+; # the corresponding decibel values with a colon. The values must be in an
+; # increasing order. Here's an example of a valid string:
+; #
+; # "0:-40.50 1:-38.70 3:-33.00 11:0"
+; #
+; # The lowest step imposes a lower limit for hardware volume and the
+; # highest step correspondingly imposes a higher limit. That means that
+; # that the mixer will never be set outside those values - the rest of the
+; # volume scale is done using software volume.
+; #
+; # As can be seen in the example, you don't need to specify a dB value for
+; # each step. The dB values for skipped steps will be linearly interpolated
+; # using the nearest steps that are given.
+
+[General]
+auto-profiles = yes
+
+[Mapping analog-mono]
+device-strings = hw:%f
+channel-map = mono
+paths-output = analog-output analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
+paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
+priority = 1
+
+[Mapping usb-analog-stereo]
+device-strings = hw:%f
+channel-map = left,right
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono analog-output-lfe-on-mono
+paths-input = analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line
+priority = 10
+
+[Mapping usb-analog-surround-51]
+device-strings = hw:%f
+;channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right
+channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
+paths-output = analog-output analog-output-speaker analog-output-desktop-speaker analog-output-lfe-on-mono
+priority = 180
+direction = output
+
+[Mapping multichannel-input]
+device-strings = hw:%f
+channel-map = left,right,rear-left,rear-right
+exact-channels = false
+fallback = yes
+priority = 1
+direction = input
+paths-input = multichannel-input
+
+; An example for defining multiple-sink profiles
+#[Profile output:analog-stereo+output:iec958-stereo+input:analog-stereo]
+#description = Foobar
+#output-mappings = analog-stereo iec958-stereo
+#input-mappings = analog-stereo
diff --git a/packaging/media-config.spec b/packaging/media-config.spec
index 096a811..9f78ef4 100644
--- a/packaging/media-config.spec
+++ b/packaging/media-config.spec
@@ -1,6 +1,6 @@
Name: media-config
Summary: Multimedia Framework system configuration package
-Version: 0.3.34
+Version: 0.3.35
Release: 0
Group: Multimedia/Configuration
License: LGPL-2.1 and Apache-2.0
@@ -85,6 +85,14 @@ License: LGPL-2.1 and Apache-2.0
%description target-vim3
Multimedia Framework system configuration package including ini, conf and etc files for VIM3
+%package generic
+Summary: Multimedia Framework system configuration package for generic
+Group: Multimedia/Configuration
+License: LGPL-2.1 and Apache-2.0
+
+%description generic
+Multimedia Framework system configuration package including ini, conf and etc files for generic
+
%else
%package simulator
@@ -166,6 +174,12 @@ cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-target-vim3
mkdir -p %{buildroot}%{_hal_datadir}/%{name}-target-vim3
cp -arf %{name}-target-vim3/* %{buildroot}%{_hal_datadir}/%{name}-target-vim3
+mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-generic
+cp LICENSE.APLv2.0 %{buildroot}%{_hal_licensedir}/%{name}-generic
+cp LICENSE.LGPLv2.1 %{buildroot}%{_hal_licensedir}/%{name}-generic
+mkdir -p %{buildroot}%{_hal_datadir}/%{name}-generic
+cp -arf %{name}-generic/* %{buildroot}%{_hal_datadir}/%{name}-generic
+
%else
mkdir -p %{buildroot}%{_hal_licensedir}/%{name}-simulator
@@ -215,6 +229,10 @@ rm -rf %{_hal_datadir}/%{name}-target-c4
cp -arf %{_hal_datadir}/%{name}-target-vim3/* /
rm -rf %{_hal_datadir}/%{name}-target-vim3
+%post generic
+cp -arf %{_hal_datadir}/%{name}-generic/* /
+rm -rf %{_hal_datadir}/%{name}-target-generric
+
%else
%post simulator
@@ -362,6 +380,21 @@ rm -rf %{_hal_datadir}/%{name}-simulator
%{_hal_datadir}/%{name}-target-vim3%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common
%{_hal_datadir}/%{name}-target-vim3%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf
+%files generic
+%manifest %{name}-generic.manifest
+%{_hal_licensedir}/%{name}-generic/*
+%defattr(-,root,root,-)
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/asound.conf
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/pulse/*
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/murphy/*
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/multimedia/*.ini
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/inference/*.ini
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/multimedia/*.conf
+%{_hal_datadir}/%{name}-generic%{_hal_sysconfdir}/xdg/gstomx.conf
+%{_hal_datadir}/%{name}-generic%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.conf
+%{_hal_datadir}/%{name}-generic%{_hal_datadir}/pulseaudio/alsa-mixer/paths/*.common
+%{_hal_datadir}/%{name}-generic%{_hal_datadir}/pulseaudio/alsa-mixer/profile-sets/*.conf
+
%else
%files simulator