blob: b76eb8b74667916513c502f6ff8159f5f306beca (
plain)
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
|
#pragma once
#include "config.h"
#include <stdbool.h>
#include "player2.h"
typedef struct _player2_iface
{
const char* Id;
const char* Name;
player2_t (*Create) ();
void (*Destroy) (player2_t player);
void (*SetVolume) (player2_t player, float volume);
float (*GetVolume) (player2_t player);
void (*SetGain) (player2_t player, float gainDb);
float (*GetGain) (player2_t player);
double (*GetDuration) (player2_t player);
double (*GetTime) (player2_t player);
bool (*Open) (player2_t player, const char* url);
bool (*Play) (player2_t player);
bool (*Pause) (player2_t player);
bool (*Stop) (player2_t player);
bool (*Finish) (player2_t player);
bool (*IsPlaying) (player2_t player);
bool (*IsPaused) (player2_t player);
bool (*IsStopped) (player2_t player);
bool (*IsFinished) (player2_t player);
} player2_iface;
extern player2_iface player2_direct_show;
extern player2_iface player2_windows_media_foundation;
|