#define SCMIRRORING_SRC_INI_MAX_STRLEN 80
#define SCMIRRORING_SRC_INI_MAX_PARAM_STRLEN 256
-typedef enum __scmirroring_ini_videosink_element {
- SCMIRRORING_INI_VSINK_V4l2SINK = 0,
- SCMIRRORING_INI_VSINK_XIMAGESINK,
- SCMIRRORING_INI_VSINK_XVIMAGESINK,
- SCMIRRORING_INI_VSINK_FAKESINK,
- SCMIRRORING_INI_VSINK_EVASIMAGESINK,
- SCMIRRORING_INI_VSINK_GLIMAGESINK,
- SCMIRRORING_INI_VSINK_NUM
-} SCMIRRORING_INI_VSINK_ELEMENT;
typedef enum __scmirroring_ini_videosrc_element {
SCMIRRORING_INI_VSRC_XIMAGESRC,
SCMIRRORING_INI_VSRC_ELEMENT videosrc_element;
gchar name_of_video_encoder[SCMIRRORING_SRC_INI_MAX_STRLEN];
gint session_mode;
- SCMIRRORING_INI_VSINK_ELEMENT videosink_element;
gchar name_of_video_converter[SCMIRRORING_SRC_INI_MAX_STRLEN];
gboolean skip_rescan;
gboolean generate_dot;
#define DEFAULT_SKIP_RESCAN TRUE
#define DEFAULT_GENERATE_DOT FALSE
#define DEFAULT_PROVIDE_CLOCK TRUE
-#define DEFAULT_VIDEOSINK SCMIRRORING_INI_VSINK_XVIMAGESINK
#define DEFAULT_VIDEOSRC SCMIRRORING_INI_VSRC_WAYLANDSRC
#define DEFAULT_VIDEOENC "omxenc_h264"
#define DEFAULT_VIDEO_BITRATE_INIT_1 1048576 /* bps */
#define DEFAULT_UIBC_GEN_CAPABILITY 15
#define DEFAULT_DUMP_TS 0
-/* NOTE : following content should be same with above default values */
-/* FIXIT : need smarter way to generate default ini file. */
-/* FIXIT : finally, it should be an external file */
-#define SCMIRRORING_SRC_DEFAULT_INI \
-" \
-[general] \n\
-\n\
-; set default video source element\n\
-; 0: xvimagesrc, 1: filesrc, 2: camerasrc, 3: videotestsrc\n\
-videosrc element = 0 \n\
-\n\
-; sending video only mirroring mode\n\
-; 0: audio-video-muxed sending, 1:video-only, 2:audio-only, 3:audio-video-saperate\n\
-session_mode = 0 \n\
-disable segtrap = yes ; same effect with --gst-disable-segtrap \n\
-\n\
-; set default video sink when video is rendered on the SCMIRRORING source as well\n\
-; 0:v4l2sink, 1:ximagesink, 2:xvimagesink, 3:fakesink 4:evasimagesink 5:glimagesink\n\
-videosink element = 2 \n\
-\n\
-mtu_size value = 1400 \n\
-\n\
-video converter element = \n\
-\n\
-; if yes. gstreamer will not update registry \n\
-skip rescan = yes \n\
-\n\
-; parameters for initializing gstreamer \n\
-gstparam1 = \n\
-gstparam2 = \n\
-gstparam3 = \n\
-gstparam4 = \n\
-gstparam5 = \n\
-\n\
-; generating dot file representing pipeline state \n\
-generate dot = no \n\
-\n\
-\n\
-\n\
-"
int
scmirroring_src_ini_load(void);
g_scmirroring_src_ini.videosrc_element = iniparser_getint(dict, "general:videosrc element", DEFAULT_VIDEOSRC);
SCMIRRORING_INI_GET_STRING(g_scmirroring_src_ini.name_of_video_encoder, "general:video encoder element", DEFAULT_VIDEOENC);
g_scmirroring_src_ini.session_mode = iniparser_getint(dict, "general:session_mode", DEFAULT_SESSION_MODE);
- g_scmirroring_src_ini.videosink_element = iniparser_getint(dict, "general:videosink element", DEFAULT_VIDEOSINK);
g_scmirroring_src_ini.disable_segtrap = iniparser_getboolean(dict, "general:disable segtrap", DEFAULT_DISABLE_SEGTRAP);
g_scmirroring_src_ini.skip_rescan = iniparser_getboolean(dict, "general:skip rescan", DEFAULT_SKIP_RESCAN);
g_scmirroring_src_ini.mtu_size = iniparser_getint(dict, "general:mtu_size value", DEFAULT_MTU_SIZE);
g_scmirroring_src_ini.videosrc_element = DEFAULT_VIDEOSRC;
strncpy(g_scmirroring_src_ini.name_of_video_encoder, DEFAULT_VIDEOENC, SCMIRRORING_SRC_INI_MAX_STRLEN - 1);
g_scmirroring_src_ini.session_mode = DEFAULT_SESSION_MODE;
- g_scmirroring_src_ini.videosink_element = DEFAULT_VIDEOSINK;
g_scmirroring_src_ini.disable_segtrap = DEFAULT_DISABLE_SEGTRAP;
g_scmirroring_src_ini.skip_rescan = DEFAULT_SKIP_RESCAN;
g_scmirroring_src_ini.mtu_size = DEFAULT_MTU_SIZE;
scmirroring_debug("session mode in mirroring : %d\n", g_scmirroring_src_ini.session_mode);
scmirroring_debug("disable_segtrap : %d\n", g_scmirroring_src_ini.disable_segtrap);
scmirroring_debug("skip rescan : %d\n", g_scmirroring_src_ini.skip_rescan);
- scmirroring_debug("videosink element(0:v4l2sink, 1:ximagesink, 2:xvimagesink, 3:fakesink) : %d\n", g_scmirroring_src_ini.videosink_element);
scmirroring_debug("mtu_size : %d\n", g_scmirroring_src_ini.mtu_size);
scmirroring_debug("generate_dot : %d\n", g_scmirroring_src_ini.generate_dot);
scmirroring_debug("provide_clock : %d\n", g_scmirroring_src_ini.provide_clock);