-
Notifications
You must be signed in to change notification settings - Fork 0
/
nioc.h
54 lines (45 loc) · 1.16 KB
/
nioc.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/* See LICENSE file for license and copyright information */
#ifndef NIOC_H
#define NIOC_H
#include <stdbool.h>
#include <girara/types.h>
#include <gtk/gtk.h>
#include <gtk/gtkx.h>
#include <gst/gst.h>
#include "types.h"
struct nioc_s {
struct
{
girara_session_t* session; /**< girara interface session */
GtkWidget* renderer; /**< Widget to show the rendered graphic media */
} ui;
struct
{
GstElement* playbin; /**< Our one and only pipeline */
GstState state; /**< Current state of the pipeline */
gboolean fullscreen; /**< Full screen status */
GMutex lock; /**< Lock for gst */
GstBus* bus; /**< Gstreamer bus */
gint64 duration; /**< Duration of the clip, in nanoseconds */
} media;
};
/**
* Creates a nioc session
*
* @return nioc session object or NULL if nioc could not be creeated
*/
nioc_t* nioc_create(void);
/**
* Initializes nioc
*
* @param nioc The nioc session
* @return true if initialization has been successful
*/
bool nioc_init(nioc_t* nioc);
/**
* Free nioc session
*
* @param nioc The nioc session
*/
void nioc_free(nioc_t* nioc);
#endif // NIOC_H