Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
2515960d
Commit
2515960d
authored
Feb 04, 2013
by
Rafaël Carré
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
audioqueue: don't avoid impossible case
Play() should always be fed with valid block_t *
parent
9b0916a5
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
18 deletions
+16
-18
modules/audio_output/audioqueue.c
modules/audio_output/audioqueue.c
+16
-18
No files found.
modules/audio_output/audioqueue.c
View file @
2515960d
...
...
@@ -156,25 +156,23 @@ static void Stop (audio_output_t *p_aout)
static
void
Play
(
audio_output_t
*
p_aout
,
block_t
*
p_block
)
{
if
(
p_block
!=
NULL
)
{
AudioQueueBufferRef
inBuffer
=
NULL
;
OSStatus
status
;
status
=
AudioQueueAllocateBuffer
(
p_aout
->
sys
->
audioQueue
,
p_block
->
i_buffer
,
&
inBuffer
);
if
(
status
!=
noErr
)
{
msg_Err
(
p_aout
,
"buffer alloction failed (%li)"
,
status
);
return
;
}
memcpy
(
inBuffer
->
mAudioData
,
p_block
->
p_buffer
,
p_block
->
i_buffer
);
inBuffer
->
mAudioDataByteSize
=
p_block
->
i_buffer
;
p_aout
->
sys
->
i_played_length
+=
p_block
->
i_length
;
block_Release
(
p_block
);
status
=
AudioQueueEnqueueBuffer
(
p_aout
->
sys
->
audioQueue
,
inBuffer
,
0
,
NULL
);
if
(
status
!=
noErr
)
msg_Err
(
p_aout
,
"enqueuing buffer failed (%li)"
,
status
);
AudioQueueBufferRef
inBuffer
=
NULL
;
OSStatus
status
;
status
=
AudioQueueAllocateBuffer
(
p_aout
->
sys
->
audioQueue
,
p_block
->
i_buffer
,
&
inBuffer
);
if
(
status
!=
noErr
)
{
msg_Err
(
p_aout
,
"buffer alloction failed (%li)"
,
status
);
return
;
}
memcpy
(
inBuffer
->
mAudioData
,
p_block
->
p_buffer
,
p_block
->
i_buffer
);
inBuffer
->
mAudioDataByteSize
=
p_block
->
i_buffer
;
p_aout
->
sys
->
i_played_length
+=
p_block
->
i_length
;
block_Release
(
p_block
);
status
=
AudioQueueEnqueueBuffer
(
p_aout
->
sys
->
audioQueue
,
inBuffer
,
0
,
NULL
);
if
(
status
!=
noErr
)
msg_Err
(
p_aout
,
"enqueuing buffer failed (%li)"
,
status
);
}
void
AudioQueueCallback
(
void
*
inUserData
,
AudioQueueRef
inAQ
,
AudioQueueBufferRef
inBuffer
)
{
...
...
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