Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gtkmediastream.h
Go to the documentation of this file.
1/*
2 * Copyright © 2018 Benjamin Otte
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 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 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 *
17 * Authors: Benjamin Otte <otte@gnome.org>
18 */
19
20#pragma once
21
22#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
23#error "Only <gtk/gtk.h> can be included directly."
24#endif
25
26#include <gdk/gdk.h>
27
29
30#define GTK_TYPE_MEDIA_STREAM (gtk_media_stream_get_type ())
31
33G_DECLARE_DERIVABLE_TYPE (GtkMediaStream, gtk_media_stream, GTK, MEDIA_STREAM, GObject)
34
36{
38
39 gboolean (* play) (GtkMediaStream *self);
40 void (* pause) (GtkMediaStream *self);
41 void (* seek) (GtkMediaStream *self,
42 gint64 timestamp);
43 void (* update_audio) (GtkMediaStream *self,
44 gboolean muted,
45 double volume);
46 void (* realize) (GtkMediaStream *self,
47 GdkSurface *surface);
48 void (* unrealize) (GtkMediaStream *self,
49 GdkSurface *surface);
50
51 /* Padding for future expansion */
52 void (*_gtk_reserved1) (void);
53 void (*_gtk_reserved2) (void);
54 void (*_gtk_reserved3) (void);
55 void (*_gtk_reserved4) (void);
56 void (*_gtk_reserved5) (void);
57 void (*_gtk_reserved6) (void);
58 void (*_gtk_reserved7) (void);
59 void (*_gtk_reserved8) (void);
60};
61
65const GError * gtk_media_stream_get_error (GtkMediaStream *self);
67gboolean gtk_media_stream_has_audio (GtkMediaStream *self);
69gboolean gtk_media_stream_has_video (GtkMediaStream *self);
70
72void gtk_media_stream_play (GtkMediaStream *self);
74void gtk_media_stream_pause (GtkMediaStream *self);
78void gtk_media_stream_set_playing (GtkMediaStream *self,
79 gboolean playing);
81gboolean gtk_media_stream_get_ended (GtkMediaStream *self);
82
87
93void gtk_media_stream_seek (GtkMediaStream *self,
94 gint64 timestamp);
96gboolean gtk_media_stream_get_loop (GtkMediaStream *self);
98void gtk_media_stream_set_loop (GtkMediaStream *self,
99 gboolean loop);
103void gtk_media_stream_set_muted (GtkMediaStream *self,
104 gboolean muted);
106double gtk_media_stream_get_volume (GtkMediaStream *self);
108void gtk_media_stream_set_volume (GtkMediaStream *self,
109 double volume);
111void gtk_media_stream_realize (GtkMediaStream *self,
112 GdkSurface *surface);
114void gtk_media_stream_unrealize (GtkMediaStream *self,
115 GdkSurface *surface);
116
117/* for implementations only */
119void gtk_media_stream_prepared (GtkMediaStream *self,
120 gboolean has_audio,
121 gboolean has_video,
122 gboolean seekable,
123 gint64 duration);
125void gtk_media_stream_unprepared (GtkMediaStream *self);
126
128void gtk_media_stream_stream_prepared (GtkMediaStream *self,
129 gboolean has_audio,
130 gboolean has_video,
131 gboolean seekable,
132 gint64 duration);
134void gtk_media_stream_stream_unprepared (GtkMediaStream *self);
135
137void gtk_media_stream_update (GtkMediaStream *self,
138 gint64 timestamp);
140void gtk_media_stream_ended (GtkMediaStream *self);
142void gtk_media_stream_stream_ended (GtkMediaStream *self);
144void gtk_media_stream_seek_success (GtkMediaStream *self);
146void gtk_media_stream_seek_failed (GtkMediaStream *self);
148void gtk_media_stream_gerror (GtkMediaStream *self,
149 GError *error);
151void gtk_media_stream_error (GtkMediaStream *self,
152 GQuark domain,
153 int code,
154 const char *format,
155 ...) G_GNUC_PRINTF (4, 5);
157void gtk_media_stream_error_valist (GtkMediaStream *self,
158 GQuark domain,
159 int code,
160 const char *format,
161 va_list args) G_GNUC_PRINTF (4, 0);
162
164
#define GDK_AVAILABLE_IN_4_4
#define GDK_AVAILABLE_IN_ALL
#define GDK_DEPRECATED_IN_4_4_FOR(f)
struct _GdkSurface GdkSurface
Definition gdktypes.h:91
signed long gint64
Definition glibconfig.h:66
#define G_END_DECLS
Definition gmacros.h:910
#define G_GNUC_PRINTF(format_idx, arg_idx)
Definition gmacros.h:608
#define G_BEGIN_DECLS
Definition gmacros.h:909
G_BEGIN_DECLS typedef guint32 GQuark
Definition gquark.h:38
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_is_prepared(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL const GError * gtk_media_stream_get_error(GtkMediaStream *self)
GDK_AVAILABLE_IN_4_4 void gtk_media_stream_stream_ended(GtkMediaStream *self)
GDK_AVAILABLE_IN_4_4 void gtk_media_stream_stream_prepared(GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_seek_success(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL double gtk_media_stream_get_volume(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_get_playing(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_set_playing(GtkMediaStream *self, gboolean playing)
void gtk_media_stream_unprepared(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_get_muted(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_get_ended(GtkMediaStream *self)
void gtk_media_stream_prepared(GtkMediaStream *self, gboolean has_audio, gboolean has_video, gboolean seekable, gint64 duration)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_pause(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_seek_failed(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gint64 gtk_media_stream_get_timestamp(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_update(GtkMediaStream *self, gint64 timestamp)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_set_muted(GtkMediaStream *self, gboolean muted)
GDK_AVAILABLE_IN_ALL gint64 gtk_media_stream_get_duration(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_has_video(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_gerror(GtkMediaStream *self, GError *error)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_play(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_is_seekable(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void GDK_AVAILABLE_IN_ALL void gtk_media_stream_error_valist(GtkMediaStream *self, GQuark domain, int code, const char *format, va_list args) G_GNUC_PRINTF(4
GDK_AVAILABLE_IN_ALL void gtk_media_stream_set_loop(GtkMediaStream *self, gboolean loop)
void gtk_media_stream_ended(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_is_seeking(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_unrealize(GtkMediaStream *self, GdkSurface *surface)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_set_volume(GtkMediaStream *self, double volume)
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_has_audio(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_realize(GtkMediaStream *self, GdkSurface *surface)
GDK_AVAILABLE_IN_4_4 void gtk_media_stream_stream_unprepared(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_error(GtkMediaStream *self, GQuark domain, int code, const char *format,...) G_GNUC_PRINTF(4
GDK_AVAILABLE_IN_ALL gboolean gtk_media_stream_get_loop(GtkMediaStream *self)
GDK_AVAILABLE_IN_ALL void gtk_media_stream_seek(GtkMediaStream *self, gint64 timestamp)
#define G_DECLARE_DERIVABLE_TYPE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, ParentName)
Definition gtype.h:1705
gint gboolean
Definition gtypes.h:56
json_t format(printf, 1, 2)))
static void error(LoadState *S, const char *why)
GObjectClass parent_class