mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-22 08:17:01 +00:00
98249a57db
volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1073>
88 lines
3 KiB
C
88 lines
3 KiB
C
/* GStreamer
|
|
* Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library 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
|
|
* Library General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Library General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
* Boston, MA 02110-1301, USA.
|
|
*/
|
|
|
|
#include "gstplay-enum.h"
|
|
|
|
#define C_ENUM(v) ((gint) v)
|
|
#define C_FLAGS(v) ((guint) v)
|
|
|
|
GType
|
|
gst_autoplug_select_result_get_type (void)
|
|
{
|
|
static const GEnumValue values[] = {
|
|
{C_ENUM (GST_AUTOPLUG_SELECT_TRY), "GST_AUTOPLUG_SELECT_TRY", "try"},
|
|
{C_ENUM (GST_AUTOPLUG_SELECT_EXPOSE), "GST_AUTOPLUG_SELECT_EXPOSE",
|
|
"expose"},
|
|
{C_ENUM (GST_AUTOPLUG_SELECT_SKIP), "GST_AUTOPLUG_SELECT_SKIP", "skip"},
|
|
{0, NULL, NULL}
|
|
};
|
|
static GType id = 0;
|
|
|
|
if (g_once_init_enter ((gsize *) & id)) {
|
|
GType _id;
|
|
|
|
_id = g_enum_register_static ("GstAutoplugSelectResult", values);
|
|
|
|
g_once_init_leave ((gsize *) & id, _id);
|
|
}
|
|
|
|
return id;
|
|
}
|
|
|
|
GType
|
|
gst_play_flags_get_type (void)
|
|
{
|
|
static const GFlagsValue values[] = {
|
|
{C_FLAGS (GST_PLAY_FLAG_VIDEO), "Render the video stream", "video"},
|
|
{C_FLAGS (GST_PLAY_FLAG_AUDIO), "Render the audio stream", "audio"},
|
|
{C_FLAGS (GST_PLAY_FLAG_TEXT), "Render subtitles", "text"},
|
|
{C_FLAGS (GST_PLAY_FLAG_VIS),
|
|
"Render visualisation when no video is present", "vis"},
|
|
{C_FLAGS (GST_PLAY_FLAG_SOFT_VOLUME), "Use software volume", "soft-volume"},
|
|
{C_FLAGS (GST_PLAY_FLAG_NATIVE_AUDIO), "Only use native audio formats",
|
|
"native-audio"},
|
|
{C_FLAGS (GST_PLAY_FLAG_NATIVE_VIDEO), "Only use native video formats",
|
|
"native-video"},
|
|
{C_FLAGS (GST_PLAY_FLAG_DOWNLOAD), "Attempt progressive download buffering",
|
|
"download"},
|
|
{C_FLAGS (GST_PLAY_FLAG_BUFFERING), "Buffer demuxed/parsed data",
|
|
"buffering"},
|
|
{C_FLAGS (GST_PLAY_FLAG_DEINTERLACE), "Deinterlace video if necessary",
|
|
"deinterlace"},
|
|
{C_FLAGS (GST_PLAY_FLAG_SOFT_COLORBALANCE), "Use software color balance",
|
|
"soft-colorbalance"},
|
|
{C_FLAGS (GST_PLAY_FLAG_FORCE_FILTERS),
|
|
"Force audio/video filter(s) to be applied", "force-filters"},
|
|
{C_FLAGS (GST_PLAY_FLAG_FORCE_SW_DECODERS),
|
|
"Force only software-based decoders (no effect for playbin3)",
|
|
"force-sw-decoders"},
|
|
{0, NULL, NULL}
|
|
};
|
|
static GType id = 0;
|
|
|
|
if (g_once_init_enter ((gsize *) & id)) {
|
|
GType _id;
|
|
|
|
_id = g_flags_register_static ("GstPlayFlags", values);
|
|
|
|
g_once_init_leave ((gsize *) & id, _id);
|
|
}
|
|
|
|
return id;
|
|
}
|