]> git.sesse.net Git - vlc/blob - modules/access/bda/bda.h
Fix choppy audio on live play - caching enabled properly
[vlc] / modules / access / bda / bda.h
1 /*****************************************************************************
2  * bda.h : DirectShow BDA access header for vlc
3  *****************************************************************************
4  * Copyright ( C ) 2007 the VideoLAN team
5  *
6  * Author: Ken Self <kens@campoz.fslife.co.uk>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * ( at your option ) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21  *****************************************************************************/
22
23 /*****************************************************************************
24  * Preamble
25  *****************************************************************************/
26 #include <stdlib.h>
27 #include <stdio.h>
28 #include <string.h>
29
30 #include <vlc/vlc.h>
31 #include <vlc_input.h>
32 #include <vlc_access.h>
33
34 #ifndef _MSC_VER
35 #   include <wtypes.h>
36 #   include <unknwn.h>
37 #   include <ole2.h>
38 #   include <limits.h>
39 #   ifdef _WINGDI_
40 #      undef _WINGDI_
41 #   endif
42 #   define _WINGDI_ 1
43 #   define AM_NOVTABLE
44 #   define _OBJBASE_H_
45 #   undef _X86_
46 #   define _I64_MAX LONG_LONG_MAX
47 #   define LONGLONG long long
48 #endif
49
50 #ifdef __cplusplus
51 class BDAGraph;
52 extern "C" {
53 #else
54 typedef struct BDAGraph BDAGraph;
55 #endif
56
57 void dvb_newBDAGraph( access_t* p_access );
58 void dvb_deleteBDAGraph( access_t* p_access );
59 int dvb_SubmitATSCTuneRequest( access_t* p_access );
60 int dvb_SubmitDVBTTuneRequest( access_t* p_access );
61 int dvb_SubmitDVBCTuneRequest( access_t* p_access );
62 int dvb_SubmitDVBSTuneRequest( access_t* p_access );
63 long dvb_GetBufferSize( access_t* p_access );
64 long dvb_ReadBuffer( access_t* p_access, long* l_buffer_len, BYTE* p_buff );
65
66 #ifdef __cplusplus
67 }
68 #endif
69
70 /****************************************************************************
71  * Access descriptor declaration
72  ****************************************************************************/
73 struct access_sys_t
74 {
75     /* These 2 must be left at the beginning */
76     vlc_mutex_t lock;
77     vlc_cond_t  wait;
78     BDAGraph *p_bda_module;
79 };