Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
b7f08d29
Commit
b7f08d29
authored
Jan 11, 2016
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/fix/compress' into asoc-linus
parents
c8980d2c
a1068045
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
3 deletions
+20
-3
sound/soc/soc-compress.c
sound/soc/soc-compress.c
+20
-3
No files found.
sound/soc/soc-compress.c
View file @
b7f08d29
...
...
@@ -630,6 +630,7 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
struct
snd_pcm
*
be_pcm
;
char
new_name
[
64
];
int
ret
=
0
,
direction
=
0
;
int
playback
=
0
,
capture
=
0
;
if
(
rtd
->
num_codecs
>
1
)
{
dev_err
(
rtd
->
card
->
dev
,
"Multicodec not supported for compressed stream
\n
"
);
...
...
@@ -641,11 +642,27 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
rtd
->
dai_link
->
stream_name
,
codec_dai
->
name
,
num
);
if
(
codec_dai
->
driver
->
playback
.
channels_min
)
playback
=
1
;
if
(
codec_dai
->
driver
->
capture
.
channels_min
)
capture
=
1
;
capture
=
capture
&&
cpu_dai
->
driver
->
capture
.
channels_min
;
playback
=
playback
&&
cpu_dai
->
driver
->
playback
.
channels_min
;
/*
* Compress devices are unidirectional so only one of the directions
* should be set, check for that (xor)
*/
if
(
playback
+
capture
!=
1
)
{
dev_err
(
rtd
->
card
->
dev
,
"Invalid direction for compress P %d, C %d
\n
"
,
playback
,
capture
);
return
-
EINVAL
;
}
if
(
playback
)
direction
=
SND_COMPRESS_PLAYBACK
;
else
if
(
codec_dai
->
driver
->
capture
.
channels_min
)
direction
=
SND_COMPRESS_CAPTURE
;
else
return
-
EINVAL
;
direction
=
SND_COMPRESS_CAPTURE
;
compr
=
kzalloc
(
sizeof
(
*
compr
),
GFP_KERNEL
);
if
(
compr
==
NULL
)
{
...
...
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