summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/libogcfpc/src/mp3player.pp
blob: 23af0b3ec9cdf28c7c910151d3c8a577ed5f3739 (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
33
34
35
36
37
unit mp3player;
{$mode objfpc} 
{$J+}
{$INLINE ON}
{$MACRO ON}
{$PACKRECORDS C}
{$ASSERTIONS ON}

{$define HW_RVL}

interface

uses
  ctypes, gctypes, mad;

type 
  pmad_stream=^mad_stream;
  pmad_frame=^mad_frame;

procedure MP3Player_Init; cdecl; external;
procedure MP3Player_Stop; cdecl; external;
function MP3Player_IsPlaying: cbool; cdecl; external;
procedure MP3Player_Volume(volume: cuint32); cdecl; external;

type
  TCBFilterFunc = procedure(par0: Pmad_stream; par1: Pmad_frame); cdecl;
function MP3Player_PlayBuffer(buffer: pointer; len: cint32; filterfunc: TCBFilterFunc): cint32; cdecl; external;

type
  TCBReader = function(par0, par1: pointer; par2: cint32): cint32; cdecl;
function MP3Player_PlayFile(cb_data: pointer; reader: TCBReader; filterfunc: TCBFilterFunc): cint32; cdecl; external;

implementation

initialization

end.