Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
c393ff60
Commit
c393ff60
authored
Jan 12, 2001
by
Sam Hocevar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
. Attempt to port the BeOS audio plugin to the new module API. Will
probably need a few fixes to work or even compile.
parent
4af9ab12
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
132 additions
and
40 deletions
+132
-40
plugins/beos/aout_beos.cpp
plugins/beos/aout_beos.cpp
+51
-15
plugins/beos/beos.cpp
plugins/beos/beos.cpp
+78
-22
plugins/dsp/aout_dsp.c
plugins/dsp/aout_dsp.c
+3
-3
No files found.
plugins/beos/aout_beos.cpp
View file @
c393ff60
/*****************************************************************************
* aout_beos.cpp:
beos interface
* aout_beos.cpp:
BeOS audio output
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: aout_beos.cpp,v 1.
8 2001/01/07 16:17:58
sam Exp $
* $Id: aout_beos.cpp,v 1.
9 2001/01/12 13:15:42
sam Exp $
*
* Authors:
* Samuel Hocevar <sam@via.ecp.fr>
...
...
@@ -50,15 +50,16 @@ extern "C"
#include "audio_output.h"
#include "intf_msg.h"
#include "main.h"
#include "modules.h"
}
/*****************************************************************************
* aout_sys_t:
esd
audio output method descriptor
* aout_sys_t:
BeOS
audio output method descriptor
*****************************************************************************
* This structure is part of the audio output thread descriptor.
* It describes some
esd
specific variables.
* It describes some
BeOS
specific variables.
*****************************************************************************/
typedef
struct
aout_sys_s
{
...
...
@@ -74,9 +75,44 @@ extern "C"
{
/*****************************************************************************
* aout_BeOpen: opens a BPushGameSound
* Local prototypes.
*****************************************************************************/
static
int
aout_Probe
(
probedata_t
*
p_data
);
static
int
aout_Open
(
aout_thread_t
*
p_aout
);
static
int
aout_SetFormat
(
aout_thread_t
*
p_aout
);
static
long
aout_GetBufInfo
(
aout_thread_t
*
p_aout
,
long
l_buffer_info
);
static
void
aout_Play
(
aout_thread_t
*
p_aout
,
byte_t
*
buffer
,
int
i_size
);
static
void
aout_Close
(
aout_thread_t
*
p_aout
);
/*****************************************************************************
* Functions exported as capabilities. They are declared as static so that
* we don't pollute the namespace too much.
*****************************************************************************/
void
aout_getfunctions
(
function_list_t
*
p_function_list
)
{
p_function_list
->
p_probe
=
aout_Probe
;
p_function_list
->
functions
.
aout
.
p_open
=
aout_Open
;
p_function_list
->
functions
.
aout
.
p_setformat
=
aout_SetFormat
;
p_function_list
->
functions
.
aout
.
p_getbufinfo
=
aout_GetBufInfo
;
p_function_list
->
functions
.
aout
.
p_play
=
aout_Play
;
p_function_list
->
functions
.
aout
.
p_close
=
aout_Close
;
}
/*****************************************************************************
* aout_Probe: probe the audio device and return a score
*****************************************************************************/
int
aout_Probe
(
aout_thread_t
*
p_aout
)
{
/* We don't test anything since I don't know what to test. However
* if the module could be loaded it is quite likely to work. */
return
(
100
);
}
/*****************************************************************************
* aout_Open: opens a BPushGameSound
*****************************************************************************/
int
aout_
Be
Open
(
aout_thread_t
*
p_aout
)
int
aout_Open
(
aout_thread_t
*
p_aout
)
{
/* Allocate structure */
p_aout
->
p_sys
=
(
aout_sys_t
*
)
malloc
(
sizeof
(
aout_sys_t
)
);
...
...
@@ -137,17 +173,17 @@ int aout_BeOpen( aout_thread_t *p_aout )
}
/*****************************************************************************
* aout_
Be
SetFormat: sets the dsp output format
* aout_SetFormat: sets the dsp output format
*****************************************************************************/
int
aout_
Be
SetFormat
(
aout_thread_t
*
p_aout
)
int
aout_SetFormat
(
aout_thread_t
*
p_aout
)
{
return
(
0
);
}
/*****************************************************************************
* aout_
Be
GetBufInfo: buffer status query
* aout_GetBufInfo: buffer status query
*****************************************************************************/
long
aout_
Be
GetBufInfo
(
aout_thread_t
*
p_aout
,
long
l_buffer_limit
)
long
aout_GetBufInfo
(
aout_thread_t
*
p_aout
,
long
l_buffer_limit
)
{
/* Each value is 4 bytes long (stereo signed 16 bits) */
long
i_hard_pos
=
4
*
p_aout
->
p_sys
->
p_sound
->
CurrentPosition
();
...
...
@@ -162,11 +198,11 @@ long aout_BeGetBufInfo( aout_thread_t *p_aout, long l_buffer_limit )
}
/*****************************************************************************
* aout_
Be
Play: plays a sound samples buffer
* aout_Play: plays a sound samples buffer
*****************************************************************************
* This function writes a buffer of i_length bytes in the dsp
*****************************************************************************/
void
aout_
Be
Play
(
aout_thread_t
*
p_aout
,
byte_t
*
buffer
,
int
i_size
)
void
aout_Play
(
aout_thread_t
*
p_aout
,
byte_t
*
buffer
,
int
i_size
)
{
long
i_newbuf_pos
;
...
...
@@ -196,9 +232,9 @@ void aout_BePlay( aout_thread_t *p_aout, byte_t *buffer, int i_size )
}
/*****************************************************************************
* aout_
Be
Close: closes the dsp audio device
* aout_Close: closes the dsp audio device
*****************************************************************************/
void
aout_
Be
Close
(
aout_thread_t
*
p_aout
)
void
aout_Close
(
aout_thread_t
*
p_aout
)
{
p_aout
->
p_sys
->
p_sound
->
UnlockCyclic
();
p_aout
->
p_sys
->
p_sound
->
StopPlaying
(
);
...
...
plugins/beos/beos.cpp
View file @
c393ff60
...
...
@@ -20,6 +20,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#define MODULE_NAME beos
/*****************************************************************************
* Preamble
*****************************************************************************/
...
...
@@ -40,24 +42,87 @@ extern "C"
#include "video.h"
#include "video_output.h"
#include "modules.h"
#include "modules_inner.h"
/*****************************************************************************
* Build configuration tree.
*****************************************************************************/
MODULE_CONFIG_START
ADD_WINDOW
(
"Configuration for BeOS module"
)
ADD_COMMENT
(
"Ha, ha -- nothing to configure yet"
)
MODULE_CONFIG_END
/*****************************************************************************
* Capabilities defined in the other files.
*****************************************************************************/
extern
void
aout_getfunctions
(
function_list_t
*
p_function_list
);
/*****************************************************************************
* InitModule: get the module structure and configuration.
*****************************************************************************
* We have to fill psz_name, psz_longname and psz_version. These variables
* will be strdup()ed later by the main application because the module can
* be unloaded later to save memory, and we want to be able to access this
* data even after the module has been unloaded.
*****************************************************************************/
int
InitModule
(
module_t
*
p_module
)
{
p_module
->
psz_name
=
MODULE_STRING
;
p_module
->
psz_longname
=
"BeOS standard API module"
;
p_module
->
psz_version
=
VERSION
;
p_module
->
i_capabilities
=
MODULE_CAPABILITY_NULL
|
MODULE_CAPABILITY_AOUT
;
return
(
0
);
}
/*****************************************************************************
* ActivateModule: set the module to an usable state.
*****************************************************************************
* This function fills the capability functions and the configuration
* structure. Once ActivateModule() has been called, the i_usage can
* be set to 0 and calls to NeedModule() be made to increment it. To unload
* the module, one has to wait until i_usage == 0 and call DeactivateModule().
*****************************************************************************/
int
ActivateModule
(
module_t
*
p_module
)
{
p_module
->
p_functions
=
malloc
(
sizeof
(
module_functions_t
)
);
if
(
p_module
->
p_functions
==
NULL
)
{
return
(
-
1
);
}
aout_getfunctions
(
&
p_module
->
p_functions
->
aout
);
p_module
->
p_config
=
p_config
;
return
(
0
);
}
/*****************************************************************************
* DeactivateModule: make sure the module can be unloaded.
*****************************************************************************
* This function must only be called when i_usage == 0. If it successfully
* returns, i_usage can be set to -1 and the module unloaded. Be careful to
* lock usage_lock during the whole process.
*****************************************************************************/
int
DeactivateModule
(
module_t
*
p_module
)
{
free
(
p_module
->
p_functions
);
return
(
0
);
}
/* OLD MODULE STRUCTURE -- soon to be removed */
/*****************************************************************************
* Exported prototypes
*****************************************************************************/
static
void
aout_GetPlugin
(
p_aout_thread_t
p_aout
);
static
void
vout_GetPlugin
(
p_vout_thread_t
p_vout
);
static
void
intf_GetPlugin
(
p_intf_thread_t
p_intf
);
/* Audio output */
int
aout_BeOpen
(
aout_thread_t
*
p_aout
);
int
aout_BeReset
(
aout_thread_t
*
p_aout
);
int
aout_BeSetFormat
(
aout_thread_t
*
p_aout
);
int
aout_BeSetChannels
(
aout_thread_t
*
p_aout
);
int
aout_BeSetRate
(
aout_thread_t
*
p_aout
);
long
aout_BeGetBufInfo
(
aout_thread_t
*
p_aout
,
long
l_buffer_info
);
void
aout_BePlay
(
aout_thread_t
*
p_aout
,
byte_t
*
buffer
,
int
i_size
);
void
aout_BeClose
(
aout_thread_t
*
p_aout
);
/* Video output */
int
vout_BeCreate
(
vout_thread_t
*
p_vout
,
char
*
psz_display
,
int
i_root_window
,
void
*
p_data
);
...
...
@@ -85,7 +150,7 @@ plugin_info_t * GetConfig( void )
p_info
->
psz_version
=
VERSION
;
p_info
->
psz_author
=
"the VideoLAN team <vlc@videolan.org>"
;
p_info
->
aout_GetPlugin
=
aout_GetPlugin
;
p_info
->
aout_GetPlugin
=
NULL
;
p_info
->
vout_GetPlugin
=
vout_GetPlugin
;
p_info
->
intf_GetPlugin
=
intf_GetPlugin
;
p_info
->
yuv_GetPlugin
=
NULL
;
...
...
@@ -100,15 +165,6 @@ plugin_info_t * GetConfig( void )
* Following functions are only called through the p_info structure
*****************************************************************************/
static
void
aout_GetPlugin
(
p_aout_thread_t
p_aout
)
{
p_aout
->
p_open
=
aout_BeOpen
;
p_aout
->
p_setformat
=
aout_BeSetFormat
;
p_aout
->
p_getbufinfo
=
aout_BeGetBufInfo
;
p_aout
->
p_play
=
aout_BePlay
;
p_aout
->
p_close
=
aout_BeClose
;
}
static
void
vout_GetPlugin
(
p_vout_thread_t
p_vout
)
{
p_vout
->
p_sys_create
=
vout_BeCreate
;
...
...
plugins/dsp/aout_dsp.c
View file @
c393ff60
...
...
@@ -101,10 +101,10 @@ void aout_getfunctions( function_list_t * p_function_list )
}
/*****************************************************************************
* aout_Probe: probe
s
the audio device and return a score
* aout_Probe: probe the audio device and return a score
*****************************************************************************
* This function tries to open the
dps
and returns a score to the plugin
* manager so that it can
* This function tries to open the
DSP
and returns a score to the plugin
* manager so that it can
choose the most appropriate one.
*****************************************************************************/
static
int
aout_Probe
(
probedata_t
*
p_data
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment