Commit 1077bd59 authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

* Support the "pcm " WAV fourcc. it's equal to "araw".

  Tested against the WAV 6ch Speaker Test from SeeMoreDigital.net (Validated against QuickTime Player)
parent 2579d74e
...@@ -174,6 +174,7 @@ static int DecoderOpen( vlc_object_t *p_this ) ...@@ -174,6 +174,7 @@ static int DecoderOpen( vlc_object_t *p_this )
{ {
/* from wav/avi/asf file */ /* from wav/avi/asf file */
case VLC_FOURCC('a','r','a','w'): case VLC_FOURCC('a','r','a','w'):
case VLC_FOURCC('p','c','m',' '):
case VLC_FOURCC('a','f','l','t'): case VLC_FOURCC('a','f','l','t'):
/* _signed_ big endian samples (mov)*/ /* _signed_ big endian samples (mov)*/
case VLC_FOURCC('t','w','o','s'): case VLC_FOURCC('t','w','o','s'):
...@@ -276,7 +277,8 @@ static int DecoderOpen( vlc_object_t *p_this ) ...@@ -276,7 +277,8 @@ static int DecoderOpen( vlc_object_t *p_this )
return VLC_EGENERIC; return VLC_EGENERIC;
} }
} }
else if( p_dec->fmt_in.i_codec == VLC_FOURCC( 'a', 'r', 'a', 'w' ) ) else if( p_dec->fmt_in.i_codec == VLC_FOURCC( 'a', 'r', 'a', 'w' ) ||
p_dec->fmt_in.i_codec == VLC_FOURCC( 'p', 'c', 'm', ' ' ) )
{ {
switch( ( p_dec->fmt_in.audio.i_bitspersample + 7 ) / 8 ) switch( ( p_dec->fmt_in.audio.i_bitspersample + 7 ) / 8 )
{ {
...@@ -352,6 +354,7 @@ static int DecoderOpen( vlc_object_t *p_this ) ...@@ -352,6 +354,7 @@ static int DecoderOpen( vlc_object_t *p_this )
p_sys->p_logtos16 = ulawtos16; p_sys->p_logtos16 = ulawtos16;
p_dec->fmt_in.audio.i_bitspersample = 8; p_dec->fmt_in.audio.i_bitspersample = 8;
} }
else return VLC_EGENERIC;
/* Set output properties */ /* Set output properties */
p_dec->fmt_out.i_cat = AUDIO_ES; p_dec->fmt_out.i_cat = AUDIO_ES;
......
...@@ -191,6 +191,7 @@ static int Open( vlc_object_t * p_this ) ...@@ -191,6 +191,7 @@ static int Open( vlc_object_t * p_this )
} }
if( p_sys->fmt.i_codec == VLC_FOURCC('a','r','a','w') || if( p_sys->fmt.i_codec == VLC_FOURCC('a','r','a','w') ||
p_sys->fmt.i_codec == VLC_FOURCC('p','c','m',' ') ||
p_sys->fmt.i_codec == VLC_FOURCC('a','f','l','t') ) p_sys->fmt.i_codec == VLC_FOURCC('a','f','l','t') )
p_sys->b_chan_reorder = p_sys->b_chan_reorder =
...@@ -230,6 +231,7 @@ static int Open( vlc_object_t * p_this ) ...@@ -230,6 +231,7 @@ static int Open( vlc_object_t * p_this )
case VLC_FOURCC( 'a', 'f', 'l', 't' ): case VLC_FOURCC( 'a', 'f', 'l', 't' ):
case VLC_FOURCC( 'u', 'l', 'a', 'w' ): case VLC_FOURCC( 'u', 'l', 'a', 'w' ):
case VLC_FOURCC( 'a', 'l', 'a', 'w' ): case VLC_FOURCC( 'a', 'l', 'a', 'w' ):
case VLC_FOURCC( 'p', 'c', 'm', ' ' ):
FrameInfo_PCM( p_demux, &p_sys->i_frame_size, FrameInfo_PCM( p_demux, &p_sys->i_frame_size,
&p_sys->i_frame_samples ); &p_sys->i_frame_samples );
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment