mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 04:26:14 +00:00
GESTimeleinePipeline: Create a flag type instead of a simple enum
Make it binding friendly
This commit is contained in:
parent
9237a997cb
commit
1efbf1ceec
3 changed files with 48 additions and 18 deletions
|
@ -46,6 +46,31 @@ ges_track_type_get_type (void)
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
register_ges_pipeline_flags (GType * id)
|
||||||
|
{
|
||||||
|
static const GFlagsValue values[] = {
|
||||||
|
{C_ENUM (TIMELINE_MODE_PREVIEW_AUDIO), "TIMELINE_MODE_PREVIEW_AUDIO", "audio_preview"},
|
||||||
|
{C_ENUM (TIMELINE_MODE_PREVIEW_VIDEO), "TIMELINE_MODE_PREVIEW_VIDEO", "video_preview"},
|
||||||
|
{C_ENUM (TIMELINE_MODE_PREVIEW), "TIMELINE_MODE_PREVIEW", "full_preview"},
|
||||||
|
{C_ENUM (TIMELINE_MODE_RENDER), "TIMELINE_MODE_RENDER", "render"},
|
||||||
|
{C_ENUM (TIMELINE_MODE_SMART_RENDER), "TIMELINE_MODE_SMART_RENDER", "smart_render"},
|
||||||
|
{0, NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
*id = g_flags_register_static ("GESPipelineFlags", values);
|
||||||
|
}
|
||||||
|
|
||||||
|
GType
|
||||||
|
ges_pipeline_flags_get_type (void)
|
||||||
|
{
|
||||||
|
static GType id;
|
||||||
|
static GOnce once = G_ONCE_INIT;
|
||||||
|
|
||||||
|
g_once (&once, (GThreadFunc) register_ges_pipeline_flags, &id);
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
static GEnumValue transition_types[] = {
|
static GEnumValue transition_types[] = {
|
||||||
{
|
{
|
||||||
0,
|
0,
|
||||||
|
|
|
@ -300,6 +300,29 @@ typedef enum {
|
||||||
|
|
||||||
GType ges_video_test_pattern_get_type (void);
|
GType ges_video_test_pattern_get_type (void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GESPipelineFlags:
|
||||||
|
* @TIMELINE_MODE_PREVIEW_AUDIO: output audio to the soundcard
|
||||||
|
* @TIMELINE_MODE_PREVIEW_VIDEO: output video to the screen
|
||||||
|
* @TIMELINE_MODE_PREVIEW: output audio/video to soundcard/screen (default)
|
||||||
|
* @TIMELINE_MODE_RENDER: render timeline (forces decoding)
|
||||||
|
* @TIMELINE_MODE_SMART_RENDER: render timeline (tries to avoid decoding/reencoding)
|
||||||
|
*
|
||||||
|
* The various modes the #GESTimelinePipeline can be configured to.
|
||||||
|
*/
|
||||||
|
typedef enum {
|
||||||
|
TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
|
||||||
|
TIMELINE_MODE_PREVIEW_VIDEO = 1 << 1,
|
||||||
|
TIMELINE_MODE_PREVIEW = TIMELINE_MODE_PREVIEW_AUDIO | TIMELINE_MODE_PREVIEW_VIDEO,
|
||||||
|
TIMELINE_MODE_RENDER = 1 << 2,
|
||||||
|
TIMELINE_MODE_SMART_RENDER = 1 << 3
|
||||||
|
} GESPipelineFlags;
|
||||||
|
|
||||||
|
#define GES_TYPE_PIPELINE_FLAGS\
|
||||||
|
ges_pipeline_flags_get_type()
|
||||||
|
|
||||||
|
GType ges_pipeline_flags_get_type (void);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GES_ENUMS_H__ */
|
#endif /* __GES_ENUMS_H__ */
|
||||||
|
|
|
@ -46,24 +46,6 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
typedef struct _GESTimelinePipelinePrivate GESTimelinePipelinePrivate;
|
typedef struct _GESTimelinePipelinePrivate GESTimelinePipelinePrivate;
|
||||||
|
|
||||||
/**
|
|
||||||
* GESPipelineFlags:
|
|
||||||
* @TIMELINE_MODE_PREVIEW_AUDIO: output audio to the soundcard
|
|
||||||
* @TIMELINE_MODE_PREVIEW_VIDEO: output video to the screen
|
|
||||||
* @TIMELINE_MODE_PREVIEW: output audio/video to soundcard/screen (default)
|
|
||||||
* @TIMELINE_MODE_RENDER: render timeline (forces decoding)
|
|
||||||
* @TIMELINE_MODE_SMART_RENDER: render timeline (tries to avoid decoding/reencoding)
|
|
||||||
*
|
|
||||||
* The various modes the #GESTimelinePipeline can be configured to.
|
|
||||||
*/
|
|
||||||
typedef enum {
|
|
||||||
TIMELINE_MODE_PREVIEW_AUDIO = 1 << 0,
|
|
||||||
TIMELINE_MODE_PREVIEW_VIDEO = 1 << 1,
|
|
||||||
TIMELINE_MODE_PREVIEW = TIMELINE_MODE_PREVIEW_AUDIO | TIMELINE_MODE_PREVIEW_VIDEO,
|
|
||||||
TIMELINE_MODE_RENDER = 1 << 2,
|
|
||||||
TIMELINE_MODE_SMART_RENDER = 1 << 3
|
|
||||||
} GESPipelineFlags;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GESTimelinePipeline:
|
* GESTimelinePipeline:
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue