--- /dev/null
+; < Camera/Camcorder Configure Main INI file >
+;
+; - SDK Camera
+;
+; - 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-debug=3,avsysvideosrc:4 || NOT-USE-DEFAULT_VALUE
+ModelName = TIZEN_SDK
+;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]
+UseConfCtrl = 1
+ConfCtrlFile0 = mmfw_camcorder_dev_video_pri.ini
+ConfCtrlFile1 = mmfw_camcorder_dev_video_sec.ini
+VideosrcElement = v4l2src | 1,1 | do-timestamp,1 | device,/dev/video0
+UseVideoscale = 0
+VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1
+UseZeroCopyFormat = 0
+DeviceCount = 2
+
+[AudioInput]
+AudiosrcElement = avsysaudiosrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0
+AudiomodemsrcElement = audiotestsrc | 2,0 | do-timestamp,1 | is-live,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
+; Videosink
+;;; 0: X surface, 1: Evas surface, 2: GL surface, 3: NULL surface
+Videosink = 0,1,3 || 0
+VideosinkElementX = waylandsink | 6,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementEvas = evasimagesink | 4,0 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementNull = fakesink | 3,0 | qos,0 | sync,0 | enable-last-sample,0
+UseVideoscale = 0
+VideoscaleElement = videoscale | 1,0 | method,1
+
+[VideoEncoder]
+H263 = emulenc_h263p | 0,0
+MPEG4 = emulenc_mpeg4 | 0,0
+THEORA = theoraenc | 1,0 | num-bufs,4
+
+[AudioEncoder]
+AMR = amrnbenc | 0,0
+AAC = ffenc_aac | 0,0
+WAVE = wavenc | 0,0
+VORBIS = vorbisenc | 0,0
+
+[ImageEncoder]
+JPEG = jpegenc | 0,0
+PNG = pngenc | 0,0
+
+[Capture]
+UseEncodebin = 1
+UseCaptureMode = 0
+VideoscaleElement = videoscale | 1,0 | method,1
+PlayCaptureSound = 0
+
+[Record]
+UseAudioEncoderQueue = 1
+UseVideoEncoderQueue = 1
+VideoProfile = 0
+VideoAutoAudioConvert = 1
+VideoAutoAudioResample = 0
+VideoAutoColorSpace = 0
+AudioProfile = 1
+AudioAutoAudioConvert = 1
+AudioAutoAudioResample = 0
+AudioAutoColorSpace = 0
+ImageProfile = 2
+ImageAutoAudioConvert = 0
+ImageAutoAudioResample = 0
+ImageAutoColorSpace = 0
+RecordsinkElement = filesink | 1,0 | async,0
+UseNoiseSuppressor = 0
+DropVideoFrame = 0
+PassFirstVideoFrame = 0
+
+[Mux]
+3GP = ffmux_3gp | 0,0
+AMR = ffmux_amr | 0,0
+MP4 = ffmux_mp4 | 0,0
+OGG = oggmux | 0,0
+WAV = wavenc | 0,0
+AAC = ffmux_adts | 0,0
+
; Videosink
;;; 0: X surface, 1: Evas surface, 2: GL surface, 3: NULL surface
Videosink = 0,1,3 || 0
-VideosinkElementX = xvimagesink | 6,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-buffer,0 | qos,0 | sync,0 | show-preroll-frame,0
-VideosinkElementEvas = evasimagesink | 4,0 | enable-last-buffer,0 | qos,0 | sync,0 | show-preroll-frame,0
-VideosinkElementNull = fakesink | 3,0 | qos,0 | sync,0 | enable-last-buffer,0
+VideosinkElementX = xvimagesink | 6,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementEvas = evasimagesink | 4,0 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementNull = fakesink | 3,0 | qos,0 | sync,0 | enable-last-sample,0
UseVideoscale = 0
VideoscaleElement = videoscale | 1,0 | method,1
--- /dev/null
+[general]
+
+; if disabled typefind element will used directely
+use decodebin = no ; async state change problem exist
+
+use sink handler = yes
+
+disable segtrap = yes ; same effect with --gst-disable-segtrap
+
+; set default videosink element according to video surface type(X, EVAS, NULL)
+videosink element x = waylandsink
+videosink element evas = evasimagesink
+videosink element fake = fakesink
+
+video converter element = ffmpegcolorspace
+
+audiosink element = avsysaudiosink
+
+drmsrc element = filesrc
+
+; 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
+element exclude keyword = ffdec_, omx_, v4l2
+
+async start = yes
+
+multiple codec supported = yes
+
+; 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
+
+; 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 = 150 ; msec
+
+
+[http streaming]
+
+httpsrc element = souphttpsrc
+
+; if set, use file or not use memory for buffering
+http file buffer path = /opt/usr/media
+
+http buffering limit = 99.0 ; percent
+
+http max size bytes = 1048576 ; bytes
+
+http buffering time = 1.2
+
+http timeout = 30 ; sec
+
+
+[rtsp streaming]
+
+rtspsrc element = rtspsrc
+
+rtsp buffering time = 5000; msec
+
+rtsp rebuffering time = 15000; msec
+
+rtsp do typefinding = no; if no, caps on rtspsrc:src pad will be used for autoplugging
+
+rtsp error concealment = yes
+
+
+[hw accelation]
+use video hw accel = no
+
+
+[priority]
+
+use priority setting = no
+
+demux = 95
+
+videosink = 96
+
+audiosink = 97
+
+ringbuffer = 98
-[general]
+[general]
-; if disabled typefind element will used directely
-use decodebin = no ; async state change problem exist
+; if disabled typefind element will used directely
+use decodebin = no ; async state change problem exist
-use sink handler = yes
+use sink handler = yes
-disable segtrap = yes ; same effect with --gst-disable-segtrap
+disable segtrap = yes ; same effect with --gst-disable-segtrap
; set default videosink element according to video surface type(X, EVAS, NULL)
videosink element x = xvimagesink
video converter element = ffmpegcolorspace
-audiosink element = avsysaudiosink
+audiosink element = avsysaudiosink
-drmsrc element = filesrc
+drmsrc element = filesrc
-; if yes. gstreamer will not update registry
-skip rescan = yes
+; 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
+; comma separated list of tocken which elemnts has it in it's name will not be used
element exclude keyword = ffdec_, omx_, v4l2
-async start = yes
+async start = yes
multiple codec supported = yes
-; parameters for initializing gstreamer
-gstparam1 =
-gstparam2 =
-gstparam3 =
-gstparam4 =
-gstparam5 =
+; parameters for initializing gstreamer
+gstparam1 =
+gstparam2 =
+gstparam3 =
+gstparam4 =
+gstparam5 =
-; generating dot file representing pipeline state
-generate dot = no
+; generating dot file representing pipeline state
+generate dot = no
-; parameter for clock provide in audiosink
-provide clock = yes
+; parameter for clock provide in audiosink
+provide clock = yes
-; allowed timeout for changing pipeline state
-live state change timeout = 30 ; sec
+; 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 = 150 ; msec
+; delay in msec for sending EOS
+eos delay = 150 ; msec
[http streaming]
rtsp error concealment = yes
-[hw accelation]
+[hw accelation]
use video hw accel = no
-[priority]
+[priority]
-use priority setting = no
+use priority setting = no
-demux = 95
+demux = 95
-videosink = 96
+videosink = 96
audiosink = 97
-ringbuffer = 98
+ringbuffer = 98
--- /dev/null
+; < 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]
+UseConfCtrl = 1
+ConfCtrlFile0 = mmfw_camcorder_dev_video_pri.ini
+ConfCtrlFile1 = mmfw_camcorder_dev_video_sec.ini
+VideosrcElement = v4l2src | 1,0 | do-timestamp,1
+UseVideoscale = 1
+VideoscaleElement = videoscale | 3,0 | width,320 | height,240 | method,1
+UseZeroCopyFormat = 0
+DeviceCount = 1
+
+[AudioInput]
+AudiosrcElement = audiotestsrc | 4,0 | do-timestamp,1 | slave-method,3 | latency,0 | is-live,1
+;AudiosrcElement = alsasrc | 3,0 | do-timestamp,1 | slave-method,3 | latency,0
+AudiomodemsrcElement = voicedatasrcbin | 0,0
+
+[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: X surface, 1: Evas surface, 2: GL surface, 3: NULL surface
+Videosink = 0,1,3 || 1
+VideosinkElementX = waylandsink | 6,0 | draw-borders,0 | force-aspect-ratio,1 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementEvas = evasimagesink | 4,0 | enable-last-sample,0 | qos,0 | sync,0 | show-preroll-frame,0
+VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-sample,0 | show-preroll-frame,0
+UseVideoscale = 1
+VideoscaleElement = fimcconvert | 1,0 | rotang,0
+;VideoscaleElement = videoscale
+
+[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 = avmux_3gp | 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
+
VideosinkElementNull = fakesink | 4,0 | qos,0 | sync,0 | enable-last-buffer,0 | show-preroll-frame,0
UseVideoscale = 1
VideoscaleElement = fimcconvert | 1,0 | rotang,0
-;VideoscaleElement = videoscale
+;VideoscaleElement = videoscale
[VideoEncoder]
MPEG4 = avenc_mpeg4 | 0,0
--- /dev/null
+[general]
+
+; if disabled typefind element will used directely
+use decodebin = yes
+
+; for retransmission enable = yes, disable = no
+use rtp retransmission = no
+
+disable segtrap = yes ; same effect with --gst-disable-segtrap
+
+; set default videosink element according to video surface type(X, EVAS, NULL)
+videosink element x = waylandsink
+videosink element evas = evasimagesink
+videosink element fake = fakesink
+
+video converter element =
+
+audiosink element = alsasink
+
+
+drmsrc element = filesrc
+
+; 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
+element exclude keyword = v4l2
+
+; ignore resume play just for debugging
+ignore first skip request = no
+
+;audio/video decode type(0:DEFAULT, 1:HW, 2:SW, 3:DISABLE)
+video decoder type = 0
+audio decoder type = 0
+
+async start = yes
+
+multiple codec supported = yes
+
+; 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 for clock provide in audiosink
+provide clock for music = yes
+provide clock for movie = 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
+
+; for asm function enable = yes, disable = no
+enable asm = yes
+
+[http streaming]
+
+httpsrc element = souphttpsrc
+
+; if set, use file or not use memory for buffering
+http file buffer path = /opt/usr/media
+
+http buffering limit = 99.0 ; percent
+
+http max size bytes = 1048576 ; bytes
+
+http buffering time = 1.2
+
+http timeout = 30 ; sec
+
+
+[rtsp streaming]
+
+rtspsrc element = rtspsrc
+
+rtsp buffering time = 5000; msec
+
+rtsp rebuffering time = 15000; msec
+
+rtsp do typefinding = no; if no, caps on rtspsrc:src pad will be used for autoplugging
+
+rtsp error concealment = yes
+
+;transport to use, 7 for default (tcp+udp-multicast+udp-unicast), 4 for TCP
+rtsp lower protocol = 7;
+
+[hw accelation]
+use video hw accel = no
+
+
+[priority]
+
+use priority setting = no
+
+demux = 95
+
+videosink = 96
+
+audiosink = 97
+
+ringbuffer = 98
+
+[subtitle]
+; related to the textbin structure
+; if yes, textbin need to consider the external display to print subtitle
+support external display = no
+
+; subtitle default value when 'support external display = yes'
+mirroring width = 1920
+
+mirroring height = 1080
+
+font color = 0xffffffff
+
+font background color = 0x00000000
+
+%bcond_with wayland
+
Name: mmfw-sysconf
Summary: Multimedia Framework system configuration package
-Version: 0.2.1
+Version: 0.2.2
Release: 0
Group: Multimedia/Configuration
License: Apache-2.0
mkdir -p %{buildroot}%{_datadir}/%{name}-target-u3
cp -arf %{name}-target-u3/* %{buildroot}%{_datadir}/%{name}-target-u3
+%if %{with wayland}
+mv %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini.wayland %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini
+mv %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini.wayland %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini
+rm %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini.x
+rm %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini.x
+%else
+mv %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini.x %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini
+mv %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini.x %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini
+rm %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_player.ini.wayland
+rm %{buildroot}%{_datadir}/%{name}-target-u3/usr/etc/mmfw_camcorder.ini.wayland
+%endif
mkdir -p %{buildroot}%{_datadir}/%{name}-target-u3/usr/share/license
cp LICENSE.APLv2.0 %{buildroot}%{_datadir}/%{name}-target-u3/usr/share/license/%{name}-target-u3
cat LICENSE.LGPLv2.1 >> %{buildroot}%{_datadir}/%{name}-target-u3/usr/share/license/%{name}-target-u3
mkdir -p %{buildroot}%{_datadir}/%{name}-simulator
cp -arf %{name}-simulator/* %{buildroot}%{_datadir}/%{name}-simulator
+%if %{with wayland}
+mv %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini.wayland %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini
+mv %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini.wayland %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini
+rm %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini.x
+rm %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini.x
+%else
+mv %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini.x %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini
+mv %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini.x %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini
+rm %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_player.ini.wayland
+rm %{buildroot}%{_datadir}/%{name}-simulator/usr/etc/mmfw_camcorder.ini.wayland
+%endif
mkdir -p %{buildroot}%{_datadir}/%{name}-simulator/usr/share/license
cp LICENSE.APLv2.0 %{buildroot}%{_datadir}/%{name}-simulator/usr/share/license/%{name}-simulator
cat LICENSE.LGPLv2.1 >> %{buildroot}%{_datadir}/%{name}-simulator/usr/share/license/%{name}-simulator