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
aeade697
Commit
aeade697
authored
Jan 23, 2003
by
Christophe Massiot
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed a segfault with quitting when no audio output plug-in was found
(closes #108).
parent
8afb82e2
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
16 additions
and
10 deletions
+16
-10
include/aout_internal.h
include/aout_internal.h
+6
-3
src/audio_output/common.c
src/audio_output/common.c
+2
-1
src/audio_output/mixer.c
src/audio_output/mixer.c
+3
-5
src/audio_output/output.c
src/audio_output/output.c
+5
-1
No files found.
include/aout_internal.h
View file @
aeade697
...
...
@@ -2,7 +2,7 @@
* aout_internal.h : internal defines for audio output
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: aout_internal.h,v 1.3
6 2002/12/07 23:50:30
massiot Exp $
* $Id: aout_internal.h,v 1.3
7 2003/01/23 17:13:28
massiot Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -128,7 +128,7 @@ typedef struct aout_mixer_t
void
(
*
pf_do_work
)(
struct
aout_instance_t
*
,
struct
aout_buffer_t
*
);
/* If b_error == 1, there is no mixer
nor audio output pipeline
. */
/* If b_error == 1, there is no mixer. */
vlc_bool_t
b_error
;
/* Multiplier used to raise or lower the volume of the sound in
* software. Beware, this creates sound distortion and should be avoided
...
...
@@ -202,6 +202,9 @@ typedef struct aout_output_t
audio_volume_t
i_volume
;
/* Saved volume for aout_VolumeMute(). */
audio_volume_t
i_saved_volume
;
/* If b_error == 1, there is no audio output pipeline. */
vlc_bool_t
b_error
;
}
aout_output_t
;
/*****************************************************************************
...
...
@@ -264,7 +267,7 @@ void aout_FiltersPlay( aout_instance_t * p_aout,
/* From mixer.c : */
int
aout_MixerNew
(
aout_instance_t
*
p_aout
);
int
aout_MixerDelete
(
aout_instance_t
*
p_aout
);
void
aout_MixerDelete
(
aout_instance_t
*
p_aout
);
void
aout_MixerRun
(
aout_instance_t
*
p_aout
);
int
aout_MixerMultiplierSet
(
aout_instance_t
*
p_aout
,
float
f_multiplier
);
int
aout_MixerMultiplierGet
(
aout_instance_t
*
p_aout
,
float
*
pf_multiplier
);
...
...
src/audio_output/common.c
View file @
aeade697
...
...
@@ -2,7 +2,7 @@
* common.c : audio output management of common data structures
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: common.c,v 1.1
5 2003/01/22 18:31:47
massiot Exp $
* $Id: common.c,v 1.1
6 2003/01/23 17:13:28
massiot Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -59,6 +59,7 @@ aout_instance_t * __aout_New( vlc_object_t * p_parent )
p_aout
->
i_nb_inputs
=
0
;
p_aout
->
mixer
.
f_multiplier
=
1
.
0
;
p_aout
->
mixer
.
b_error
=
1
;
p_aout
->
output
.
b_error
=
1
;
p_aout
->
output
.
b_starving
=
1
;
var_Create
(
p_aout
,
"intf-change"
,
VLC_VAR_BOOL
);
...
...
src/audio_output/mixer.c
View file @
aeade697
...
...
@@ -2,7 +2,7 @@
* mixer.c : audio output mixing operations
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: mixer.c,v 1.2
3 2003/01/06 22:07:47
massiot Exp $
* $Id: mixer.c,v 1.2
4 2003/01/23 17:13:28
massiot Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -58,13 +58,11 @@ int aout_MixerNew( aout_instance_t * p_aout )
*****************************************************************************
* Please note that you must hold the mixer lock.
*****************************************************************************/
int
aout_MixerDelete
(
aout_instance_t
*
p_aout
)
void
aout_MixerDelete
(
aout_instance_t
*
p_aout
)
{
if
(
p_aout
->
mixer
.
b_error
)
return
0
;
if
(
p_aout
->
mixer
.
b_error
)
return
;
module_Unneed
(
p_aout
,
p_aout
->
mixer
.
p_module
);
p_aout
->
mixer
.
b_error
=
1
;
return
0
;
}
/*****************************************************************************
...
...
src/audio_output/output.c
View file @
aeade697
...
...
@@ -2,7 +2,7 @@
* output.c : internal management of output streams for the audio output
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: output.c,v 1.3
2 2003/01/23 11:48:1
8 massiot Exp $
* $Id: output.c,v 1.3
3 2003/01/23 17:13:2
8 massiot Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -200,6 +200,7 @@ int aout_OutputNew( aout_instance_t * p_aout,
p_aout
->
output
.
i_nb_filters
,
&
p_aout
->
mixer
.
output_alloc
);
p_aout
->
output
.
b_error
=
0
;
return
0
;
}
...
...
@@ -210,11 +211,14 @@ int aout_OutputNew( aout_instance_t * p_aout,
*****************************************************************************/
void
aout_OutputDelete
(
aout_instance_t
*
p_aout
)
{
if
(
p_aout
->
output
.
b_error
)
return
0
;
module_Unneed
(
p_aout
,
p_aout
->
output
.
p_module
);
aout_FiltersDestroyPipeline
(
p_aout
,
p_aout
->
output
.
pp_filters
,
p_aout
->
output
.
i_nb_filters
);
aout_FifoDestroy
(
p_aout
,
&
p_aout
->
output
.
fifo
);
p_aout
->
output
.
b_error
=
1
;
}
/*****************************************************************************
...
...
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