1 /* GStreamer
2 * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20 #include "gstplay-enum.h"
21
22 #define C_ENUM(v) ((gint) v)
23 #define C_FLAGS(v) ((guint) v)
24
25 GType
gst_autoplug_select_result_get_type(void)26 gst_autoplug_select_result_get_type (void)
27 {
28 static const GEnumValue values[] = {
29 {C_ENUM (GST_AUTOPLUG_SELECT_TRY), "GST_AUTOPLUG_SELECT_TRY", "try"},
30 {C_ENUM (GST_AUTOPLUG_SELECT_EXPOSE), "GST_AUTOPLUG_SELECT_EXPOSE",
31 "expose"},
32 {C_ENUM (GST_AUTOPLUG_SELECT_SKIP), "GST_AUTOPLUG_SELECT_SKIP", "skip"},
33 {0, NULL, NULL}
34 };
35 static GType id = 0;
36
37 if (g_once_init_enter ((gsize *) & id)) {
38 GType _id;
39
40 _id = g_enum_register_static ("GstAutoplugSelectResult", values);
41
42 g_once_init_leave ((gsize *) & id, _id);
43 }
44
45 return id;
46 }
47
48 GType
gst_play_flags_get_type(void)49 gst_play_flags_get_type (void)
50 {
51 static const GFlagsValue values[] = {
52 {C_FLAGS (GST_PLAY_FLAG_VIDEO), "Render the video stream", "video"},
53 {C_FLAGS (GST_PLAY_FLAG_AUDIO), "Render the audio stream", "audio"},
54 {C_FLAGS (GST_PLAY_FLAG_TEXT), "Render subtitles", "text"},
55 {C_FLAGS (GST_PLAY_FLAG_VIS),
56 "Render visualisation when no video is present", "vis"},
57 {C_FLAGS (GST_PLAY_FLAG_SOFT_VOLUME), "Use software volume", "soft-volume"},
58 {C_FLAGS (GST_PLAY_FLAG_NATIVE_AUDIO), "Only use native audio formats",
59 "native-audio"},
60 {C_FLAGS (GST_PLAY_FLAG_NATIVE_VIDEO), "Only use native video formats",
61 "native-video"},
62 {C_FLAGS (GST_PLAY_FLAG_DOWNLOAD), "Attempt progressive download buffering",
63 "download"},
64 {C_FLAGS (GST_PLAY_FLAG_BUFFERING), "Buffer demuxed/parsed data",
65 "buffering"},
66 {C_FLAGS (GST_PLAY_FLAG_DEINTERLACE), "Deinterlace video if necessary",
67 "deinterlace"},
68 {C_FLAGS (GST_PLAY_FLAG_SOFT_COLORBALANCE), "Use software color balance",
69 "soft-colorbalance"},
70 {C_FLAGS (GST_PLAY_FLAG_FORCE_FILTERS),
71 "Force audio/video filter(s) to be applied", "force-filters"},
72 {C_FLAGS (GST_PLAY_FLAG_FORCE_SW_DECODERS),
73 "Force only software-based decoders (no effect for playbin3)",
74 "force-sw-decoders"},
75 #ifdef OHOS_OPT_COMPAT
76 // ohos.opt.compat.0021
77 // when open GST_PLAY_FLAG_NATIVE_VIDEO will not change decoder caps
78 {C_FLAGS (GST_PLAY_FLAG_HARDWARE_VIDEO),
79 "Only hardware play will open this flag", "hardware-video"},
80 #endif
81 {0, NULL, NULL}
82 };
83 static GType id = 0;
84
85 if (g_once_init_enter ((gsize *) & id)) {
86 GType _id;
87
88 _id = g_flags_register_static ("GstPlayFlags", values);
89
90 g_once_init_leave ((gsize *) & id, _id);
91 }
92
93 return id;
94 }
95