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
b8813031
Commit
b8813031
authored
Aug 13, 2009
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Used date_t instead of audio_date_t in codecs.
parent
09d375d4
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
168 additions
and
168 deletions
+168
-168
modules/codec/a52.c
modules/codec/a52.c
+12
-12
modules/codec/adpcm.c
modules/codec/adpcm.c
+8
-8
modules/codec/aes3.c
modules/codec/aes3.c
+10
-10
modules/codec/araw.c
modules/codec/araw.c
+8
-8
modules/codec/avcodec/audio.c
modules/codec/avcodec/audio.c
+11
-11
modules/codec/dts.c
modules/codec/dts.c
+12
-12
modules/codec/faad.c
modules/codec/faad.c
+12
-12
modules/codec/flac.c
modules/codec/flac.c
+14
-14
modules/codec/fluidsynth.c
modules/codec/fluidsynth.c
+9
-9
modules/codec/lpcm.c
modules/codec/lpcm.c
+11
-11
modules/codec/mpeg_audio.c
modules/codec/mpeg_audio.c
+13
-13
modules/codec/quicktime.c
modules/codec/quicktime.c
+7
-7
modules/codec/realaudio.c
modules/codec/realaudio.c
+8
-8
modules/codec/speex.c
modules/codec/speex.c
+15
-15
modules/codec/vorbis.c
modules/codec/vorbis.c
+10
-10
modules/codec/wmafixed/wma.c
modules/codec/wmafixed/wma.c
+8
-8
No files found.
modules/codec/a52.c
View file @
b8813031
...
@@ -77,7 +77,7 @@ struct decoder_sys_t
...
@@ -77,7 +77,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_date_t
end_date
;
date_t
end_date
;
mtime_t
i_pts
;
mtime_t
i_pts
;
...
@@ -136,7 +136,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
...
@@ -136,7 +136,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
/* Misc init */
/* Misc init */
p_sys
->
b_packetizer
=
b_packetizer
;
p_sys
->
b_packetizer
=
b_packetizer
;
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
bytestream
=
block_BytestreamInit
();
p_sys
->
bytestream
=
block_BytestreamInit
();
...
@@ -187,12 +187,12 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -187,12 +187,12 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
}
}
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
return
NULL
;
return
NULL
;
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
...
@@ -228,9 +228,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -228,9 +228,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
/* New frame, set the Presentation Time Stamp */
/* New frame, set the Presentation Time Stamp */
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
if
(
p_sys
->
i_pts
!=
0
&&
if
(
p_sys
->
i_pts
!=
0
&&
p_sys
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_sys
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_sys
->
i_state
=
STATE_HEADER
;
p_sys
->
i_state
=
STATE_HEADER
;
...
@@ -350,8 +350,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
...
@@ -350,8 +350,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
msg_Info
(
p_dec
,
"A/52 channels:%d samplerate:%d bitrate:%d"
,
msg_Info
(
p_dec
,
"A/52 channels:%d samplerate:%d bitrate:%d"
,
p_sys
->
frame
.
i_channels
,
p_sys
->
frame
.
i_rate
,
p_sys
->
frame
.
i_bitrate
);
p_sys
->
frame
.
i_channels
,
p_sys
->
frame
.
i_rate
,
p_sys
->
frame
.
i_bitrate
);
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
frame
.
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
frame
.
i_rate
;
...
@@ -393,8 +393,8 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
...
@@ -393,8 +393,8 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
p_buf
=
decoder_NewAudioBuffer
(
p_dec
,
p_sys
->
frame
.
i_samples
);
p_buf
=
decoder_NewAudioBuffer
(
p_dec
,
p_sys
->
frame
.
i_samples
);
if
(
p_buf
==
NULL
)
return
NULL
;
if
(
p_buf
==
NULL
)
return
NULL
;
p_buf
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_buf
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_buf
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_samples
);
p_buf
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_samples
);
return
p_buf
;
return
p_buf
;
}
}
...
@@ -410,10 +410,10 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
...
@@ -410,10 +410,10 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
p_block
=
block_New
(
p_dec
,
p_sys
->
frame
.
i_size
);
p_block
=
block_New
(
p_dec
,
p_sys
->
frame
.
i_size
);
if
(
p_block
==
NULL
)
return
NULL
;
if
(
p_block
==
NULL
)
return
NULL
;
p_block
->
i_pts
=
p_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_pts
=
p_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
p_block
->
i_length
=
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_samples
)
-
p_block
->
i_pts
;
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
frame
.
i_samples
)
-
p_block
->
i_pts
;
return
p_block
;
return
p_block
;
}
}
...
...
modules/codec/adpcm.c
View file @
b8813031
...
@@ -72,7 +72,7 @@ struct decoder_sys_t
...
@@ -72,7 +72,7 @@ struct decoder_sys_t
size_t
i_block
;
size_t
i_block
;
size_t
i_samplesperblock
;
size_t
i_samplesperblock
;
audio_date_t
end_date
;
date_t
end_date
;
};
};
static
void
DecodeAdpcmMs
(
decoder_t
*
,
int16_t
*
,
uint8_t
*
);
static
void
DecodeAdpcmMs
(
decoder_t
*
,
int16_t
*
,
uint8_t
*
);
...
@@ -254,8 +254,8 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -254,8 +254,8 @@ static int OpenDecoder( vlc_object_t *p_this )
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_maps
[
p_dec
->
fmt_in
.
audio
.
i_channels
];
pi_channels_maps
[
p_dec
->
fmt_in
.
audio
.
i_channels
];
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_dec
->
pf_decode_audio
=
DecodeBlock
;
p_dec
->
pf_decode_audio
=
DecodeBlock
;
...
@@ -275,11 +275,11 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -275,11 +275,11 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_block
=
*
pp_block
;
p_block
=
*
pp_block
;
if
(
p_block
->
i_pts
!=
0
&&
if
(
p_block
->
i_pts
!=
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
@@ -300,9 +300,9 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -300,9 +300,9 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
return
NULL
;
return
NULL
;
}
}
p_out
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_out
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_out
->
end_date
=
p_out
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_samplesperblock
);
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_samplesperblock
);
switch
(
p_sys
->
codec
)
switch
(
p_sys
->
codec
)
{
{
...
...
modules/codec/aes3.c
View file @
b8813031
...
@@ -64,7 +64,7 @@ struct decoder_sys_t
...
@@ -64,7 +64,7 @@ struct decoder_sys_t
/*
/*
* Output properties
* Output properties
*/
*/
audio_
date_t
end_date
;
date_t
end_date
;
};
};
#define AES3_HEADER_LEN 4
#define AES3_HEADER_LEN 4
...
@@ -134,8 +134,8 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
...
@@ -134,8 +134,8 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
if
(
p_aout_buffer
==
NULL
)
if
(
p_aout_buffer
==
NULL
)
goto
exit
;
goto
exit
;
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_frame_length
);
p_aout_buffer
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
i_frame_length
);
p_block
->
i_buffer
-=
AES3_HEADER_LEN
;
p_block
->
i_buffer
-=
AES3_HEADER_LEN
;
p_block
->
p_buffer
+=
AES3_HEADER_LEN
;
p_block
->
p_buffer
+=
AES3_HEADER_LEN
;
...
@@ -219,8 +219,8 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
...
@@ -219,8 +219,8 @@ static block_t *Packetize( decoder_t *p_dec, block_t **pp_block )
if
(
!
p_block
)
if
(
!
p_block
)
return
NULL
;
return
NULL
;
p_block
->
i_pts
=
p_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_pts
=
p_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_frame_length
)
-
p_block
->
i_pts
;
p_block
->
i_length
=
date_
Increment
(
&
p_sys
->
end_date
,
i_frame_length
)
-
p_block
->
i_pts
;
/* Just pass on the incoming frame */
/* Just pass on the incoming frame */
return
p_block
;
return
p_block
;
...
@@ -243,8 +243,8 @@ static int Open( decoder_t *p_dec, bool b_packetizer )
...
@@ -243,8 +243,8 @@ static int Open( decoder_t *p_dec, bool b_packetizer )
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
/* Misc init */
/* Misc init */
aout_DateInit
(
&
p_sys
->
end_date
,
48000
);
date_Init
(
&
p_sys
->
end_date
,
48000
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
/* Set output properties */
/* Set output properties */
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
...
@@ -297,12 +297,12 @@ static block_t *Parse( decoder_t *p_dec, int *pi_frame_length, int *pi_bits,
...
@@ -297,12 +297,12 @@ static block_t *Parse( decoder_t *p_dec, int *pi_frame_length, int *pi_bits,
/* Date management */
/* Date management */
if
(
p_block
->
i_pts
>
0
&&
if
(
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
...
modules/codec/araw.c
View file @
b8813031
...
@@ -74,7 +74,7 @@ struct decoder_sys_t
...
@@ -74,7 +74,7 @@ struct decoder_sys_t
const
int16_t
*
p_logtos16
;
/* used with m/alaw to int16_t */
const
int16_t
*
p_logtos16
;
/* used with m/alaw to int16_t */
int
i_bytespersample
;
int
i_bytespersample
;
audio_
date_t
end_date
;
date_t
end_date
;
};
};
static
const
int
pi_channels_maps
[]
=
static
const
int
pi_channels_maps
[]
=
...
@@ -311,8 +311,8 @@ static int DecoderOpen( vlc_object_t *p_this )
...
@@ -311,8 +311,8 @@ static int DecoderOpen( vlc_object_t *p_this )
p_dec
->
fmt_out
.
audio
.
i_bitspersample
=
16
;
p_dec
->
fmt_out
.
audio
.
i_bitspersample
=
16
;
}
}
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
i_bytespersample
=
(
p_dec
->
fmt_in
.
audio
.
i_bitspersample
+
7
)
/
8
;
p_sys
->
i_bytespersample
=
(
p_dec
->
fmt_in
.
audio
.
i_bitspersample
+
7
)
/
8
;
p_dec
->
pf_decode_audio
=
DecodeBlock
;
p_dec
->
pf_decode_audio
=
DecodeBlock
;
...
@@ -337,11 +337,11 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -337,11 +337,11 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_block
=
*
pp_block
;
p_block
=
*
pp_block
;
if
(
p_block
->
i_pts
!=
0
&&
if
(
p_block
->
i_pts
!=
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
@@ -370,8 +370,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -370,8 +370,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
return
NULL
;
return
NULL
;
}
}
p_out
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_out
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_out
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
);
p_out
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
);
if
(
p_sys
->
p_logtos16
)
if
(
p_sys
->
p_logtos16
)
{
{
...
...
modules/codec/avcodec/audio.c
View file @
b8813031
...
@@ -60,7 +60,7 @@ struct decoder_sys_t
...
@@ -60,7 +60,7 @@ struct decoder_sys_t
* Output properties
* Output properties
*/
*/
audio_sample_format_t
aout_format
;
audio_sample_format_t
aout_format
;
audio_date_t
end_date
;
date_t
end_date
;
/*
/*
*
*
...
@@ -207,9 +207,9 @@ int InitAudioDec( decoder_t *p_dec, AVCodecContext *p_context,
...
@@ -207,9 +207,9 @@ int InitAudioDec( decoder_t *p_dec, AVCodecContext *p_context,
p_sys
->
i_previous_channels
=
0
;
p_sys
->
i_previous_channels
=
0
;
p_sys
->
i_previous_layout
=
0
;
p_sys
->
i_previous_layout
=
0
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
if
(
p_dec
->
fmt_in
.
audio
.
i_rate
)
if
(
p_dec
->
fmt_in
.
audio
.
i_rate
)
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_in
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_in
.
audio
.
i_rate
,
1
);
/* */
/* */
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
...
@@ -234,8 +234,8 @@ static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
...
@@ -234,8 +234,8 @@ static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
if
(
(
p_buffer
=
decoder_NewAudioBuffer
(
p_dec
,
i_samples
)
)
==
NULL
)
if
(
(
p_buffer
=
decoder_NewAudioBuffer
(
p_dec
,
i_samples
)
)
==
NULL
)
return
NULL
;
return
NULL
;
p_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
);
p_buffer
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
);
if
(
p_sys
->
b_extract
)
if
(
p_sys
->
b_extract
)
aout_ChannelExtract
(
p_buffer
->
p_buffer
,
p_dec
->
fmt_out
.
audio
.
i_channels
,
aout_ChannelExtract
(
p_buffer
->
p_buffer
,
p_dec
->
fmt_out
.
audio
.
i_channels
,
...
@@ -269,7 +269,7 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
...
@@ -269,7 +269,7 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
block_Release
(
p_block
);
block_Release
(
p_block
);
avcodec_flush_buffers
(
p_sys
->
p_context
);
avcodec_flush_buffers
(
p_sys
->
p_context
);
p_sys
->
i_samples
=
0
;
p_sys
->
i_samples
=
0
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
if
(
p_sys
->
i_codec_id
==
CODEC_ID_MP2
||
p_sys
->
i_codec_id
==
CODEC_ID_MP3
)
if
(
p_sys
->
i_codec_id
==
CODEC_ID_MP2
||
p_sys
->
i_codec_id
==
CODEC_ID_MP3
)
p_sys
->
i_reject_count
=
3
;
p_sys
->
i_reject_count
=
3
;
...
@@ -284,7 +284,7 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
...
@@ -284,7 +284,7 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
return
p_buffer
;
return
p_buffer
;
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
&&
!
p_block
->
i_pts
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
&&
!
p_block
->
i_pts
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
@@ -348,17 +348,17 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
...
@@ -348,17 +348,17 @@ aout_buffer_t * DecodeAudio ( decoder_t *p_dec, block_t **pp_block )
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
(
unsigned
int
)
p_sys
->
p_context
->
sample_rate
)
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
(
unsigned
int
)
p_sys
->
p_context
->
sample_rate
)
{
{
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
p_context
->
sample_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
p_context
->
sample_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
/* **** Set audio output parameters **** */
/* **** Set audio output parameters **** */
SetupOutputFormat
(
p_dec
,
true
);
SetupOutputFormat
(
p_dec
,
true
);
if
(
p_block
->
i_pts
!=
0
&&
if
(
p_block
->
i_pts
!=
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
p_block
->
i_pts
=
0
;
p_block
->
i_pts
=
0
;
...
...
modules/codec/dts.c
View file @
b8813031
...
@@ -73,7 +73,7 @@ struct decoder_sys_t
...
@@ -73,7 +73,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_date_t
end_date
;
date_t
end_date
;
mtime_t
i_pts
;
mtime_t
i_pts
;
...
@@ -150,7 +150,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
...
@@ -150,7 +150,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
/* Misc init */
/* Misc init */
p_sys
->
b_packetizer
=
b_packetizer
;
p_sys
->
b_packetizer
=
b_packetizer
;
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
b_dts_hd
=
false
;
p_sys
->
b_dts_hd
=
false
;
p_sys
->
bytestream
=
block_BytestreamInit
();
p_sys
->
bytestream
=
block_BytestreamInit
();
...
@@ -189,12 +189,12 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -189,12 +189,12 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
}
}
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
return
NULL
;
return
NULL
;
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
...
@@ -231,9 +231,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -231,9 +231,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
/* New frame, set the Presentation Time Stamp */
/* New frame, set the Presentation Time Stamp */
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
if
(
p_sys
->
i_pts
!=
0
&&
if
(
p_sys
->
i_pts
!=
0
&&
p_sys
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_sys
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_sys
->
i_state
=
STATE_HEADER
;
p_sys
->
i_state
=
STATE_HEADER
;
...
@@ -361,8 +361,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
...
@@ -361,8 +361,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
msg_Info
(
p_dec
,
"DTS channels:%d samplerate:%d bitrate:%d"
,
msg_Info
(
p_dec
,
"DTS channels:%d samplerate:%d bitrate:%d"
,
p_sys
->
i_channels
,
p_sys
->
i_rate
,
p_sys
->
i_bit_rate
);
p_sys
->
i_channels
,
p_sys
->
i_rate
,
p_sys
->
i_bit_rate
);
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
...
@@ -409,9 +409,9 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
...
@@ -409,9 +409,9 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
p_buf
->
i_nb_samples
=
p_sys
->
i_frame_length
;
p_buf
->
i_nb_samples
=
p_sys
->
i_frame_length
;
p_buf
->
i_nb_bytes
=
p_sys
->
i_frame_size
;
p_buf
->
i_nb_bytes
=
p_sys
->
i_frame_size
;
p_buf
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_buf
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_buf
->
end_date
=
p_buf
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
return
p_buf
;
return
p_buf
;
}
}
...
@@ -427,9 +427,9 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
...
@@ -427,9 +427,9 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
p_block
=
block_New
(
p_dec
,
p_sys
->
i_frame_size
);
p_block
=
block_New
(
p_dec
,
p_sys
->
i_frame_size
);
if
(
p_block
==
NULL
)
return
NULL
;
if
(
p_block
==
NULL
)
return
NULL
;
p_block
->
i_pts
=
p_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_pts
=
p_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_block
->
i_length
=
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
)
-
p_block
->
i_pts
;
p_sys
->
i_frame_length
)
-
p_block
->
i_pts
;
return
p_block
;
return
p_block
;
...
...
modules/codec/faad.c
View file @
b8813031
...
@@ -62,7 +62,7 @@ struct decoder_sys_t
...
@@ -62,7 +62,7 @@ struct decoder_sys_t
faacDecHandle
*
hfaad
;
faacDecHandle
*
hfaad
;
/* samples */
/* samples */
audio_
date_t
date
;
date_t
date
;
/* temporary buffer */
/* temporary buffer */
uint8_t
*
p_buffer
;
uint8_t
*
p_buffer
;
...
@@ -134,7 +134,7 @@ static int Open( vlc_object_t *p_this )
...
@@ -134,7 +134,7 @@ static int Open( vlc_object_t *p_this )
}
}
/* Misc init */
/* Misc init */
aout_Date
Set
(
&
p_sys
->
date
,
0
);
date_
Set
(
&
p_sys
->
date
,
0
);
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
if
(
vlc_CPU
()
&
CPU_CAPABILITY_FPU
)
if
(
vlc_CPU
()
&
CPU_CAPABILITY_FPU
)
...
@@ -165,7 +165,7 @@ static int Open( vlc_object_t *p_this )
...
@@ -165,7 +165,7 @@ static int Open( vlc_object_t *p_this )
p_dec
->
fmt_out
.
audio
.
i_physical_channels
p_dec
->
fmt_out
.
audio
.
i_physical_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_guessed
[
i_channels
];
=
pi_channels_guessed
[
i_channels
];
aout_DateInit
(
&
p_sys
->
date
,
i_rate
);
date_Init
(
&
p_sys
->
date
,
i_rate
,
1
);
}
}
else
else
{
{
...
@@ -261,7 +261,7 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -261,7 +261,7 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_guessed
[
i_channels
];
=
pi_channels_guessed
[
i_channels
];
aout_DateInit
(
&
p_sys
->
date
,
i_rate
);
date_Init
(
&
p_sys
->
date
,
i_rate
,
1
);
}
}
}
}
...
@@ -284,14 +284,14 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -284,14 +284,14 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_dec
->
fmt_out
.
audio
.
i_physical_channels
p_dec
->
fmt_out
.
audio
.
i_physical_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_guessed
[
i_channels
];
=
pi_channels_guessed
[
i_channels
];
aout_DateInit
(
&
p_sys
->
date
,
i_rate
);
date_Init
(
&
p_sys
->
date
,
i_rate
,
1
);
}
}
if
(
p_block
->
i_pts
!=
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
date
)
)
if
(
p_block
->
i_pts
!=
0
&&
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
date
,
p_block
->
i_pts
);
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
@@ -353,8 +353,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -353,8 +353,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
/* We decoded a valid frame */
/* We decoded a valid frame */
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
frame
.
samplerate
)
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
frame
.
samplerate
)
{
{
aout_DateInit
(
&
p_sys
->
date
,
frame
.
samplerate
);
date_Init
(
&
p_sys
->
date
,
frame
.
samplerate
,
1
);
aout_Date
Set
(
&
p_sys
->
date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
date
,
p_block
->
i_pts
);
}
}
p_block
->
i_pts
=
0
;
/* PTS is valid only once */
p_block
->
i_pts
=
0
;
/* PTS is valid only once */
...
@@ -415,8 +415,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -415,8 +415,8 @@ static aout_buffer_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
return
NULL
;
return
NULL
;
}
}
p_out
->
start_date
=
aout_Date
Get
(
&
p_sys
->
date
);
p_out
->
start_date
=
date_
Get
(
&
p_sys
->
date
);
p_out
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
date
,
frame
.
samples
/
frame
.
channels
);
p_out
->
end_date
=
date_
Increment
(
&
p_sys
->
date
,
frame
.
samples
/
frame
.
channels
);
DoReordering
(
(
uint32_t
*
)
p_out
->
p_buffer
,
samples
,
DoReordering
(
(
uint32_t
*
)
p_out
->
p_buffer
,
samples
,
frame
.
samples
/
frame
.
channels
,
frame
.
channels
,
frame
.
samples
/
frame
.
channels
,
frame
.
channels
,
...
...
modules/codec/flac.c
View file @
b8813031
...
@@ -90,7 +90,7 @@ struct decoder_sys_t
...
@@ -90,7 +90,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_date_t
end_date
;
date_t
end_date
;
mtime_t
i_pts
;
mtime_t
i_pts
;
int
i_frame_size
,
i_frame_length
,
i_bits_per_sample
;
int
i_frame_size
,
i_frame_length
,
i_bits_per_sample
;
...
@@ -220,7 +220,7 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -220,7 +220,7 @@ static int OpenDecoder( vlc_object_t *p_this )
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
/* Misc init */
/* Misc init */
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
b_stream_info
=
false
;
p_sys
->
b_stream_info
=
false
;
p_sys
->
p_block
=
NULL
;
p_sys
->
p_block
=
NULL
;
...
@@ -389,7 +389,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -389,7 +389,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
}
}
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
return
NULL
;
return
NULL
;
}
}
...
@@ -402,18 +402,18 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -402,18 +402,18 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
return
NULL
;
return
NULL
;
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
return
NULL
;
return
NULL
;
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* The first PTS is as good as anything else. */
/* The first PTS is as good as anything else. */
p_sys
->
i_rate
=
p_dec
->
fmt_out
.
audio
.
i_rate
;
p_sys
->
i_rate
=
p_dec
->
fmt_out
.
audio
.
i_rate
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
(
*
pp_block
)
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
(
*
pp_block
)
->
i_pts
);
}
}
block_BytestreamPush
(
&
p_sys
->
bytestream
,
*
pp_block
);
block_BytestreamPush
(
&
p_sys
->
bytestream
,
*
pp_block
);
...
@@ -445,9 +445,9 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -445,9 +445,9 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
/* New frame, set the Presentation Time Stamp */
/* New frame, set the Presentation Time Stamp */
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
if
(
p_sys
->
i_pts
!=
0
&&
if
(
p_sys
->
i_pts
!=
0
&&
p_sys
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_sys
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_sys
->
i_state
=
STATE_HEADER
;
p_sys
->
i_state
=
STATE_HEADER
;
...
@@ -476,7 +476,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -476,7 +476,7 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
if
(
p_sys
->
i_rate
!=
p_dec
->
fmt_out
.
audio
.
i_rate
)
if
(
p_sys
->
i_rate
!=
p_dec
->
fmt_out
.
audio
.
i_rate
)
{
{
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
,
1
);
}
}
p_sys
->
i_state
=
STATE_NEXT_SYNC
;
p_sys
->
i_state
=
STATE_NEXT_SYNC
;
p_sys
->
i_frame_size
=
1
;
p_sys
->
i_frame_size
=
1
;
...
@@ -535,10 +535,10 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -535,10 +535,10 @@ static block_t *PacketizeBlock( decoder_t *p_dec, block_t **pp_block )
/* Date management */
/* Date management */
p_sout_block
->
i_pts
=
p_sout_block
->
i_pts
=
p_sout_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_sout_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
p_sout_block
->
i_length
=
p_sout_block
->
i_length
=
aout_Date
Get
(
&
p_sys
->
end_date
)
-
p_sout_block
->
i_pts
;
date_
Get
(
&
p_sys
->
end_date
)
-
p_sout_block
->
i_pts
;
return
p_sout_block
;
return
p_sout_block
;
}
}
...
@@ -710,7 +710,7 @@ static void DecoderMetadataCallback( const FLAC__StreamDecoder *decoder,
...
@@ -710,7 +710,7 @@ static void DecoderMetadataCallback( const FLAC__StreamDecoder *decoder,
p_dec
->
fmt_out
.
audio
.
i_bitspersample
=
p_dec
->
fmt_out
.
audio
.
i_bitspersample
=
metadata
->
data
.
stream_info
.
bits_per_sample
;
metadata
->
data
.
stream_info
.
bits_per_sample
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
msg_Dbg
(
p_dec
,
"channels:%d samplerate:%d bitspersamples:%d"
,
msg_Dbg
(
p_dec
,
"channels:%d samplerate:%d bitspersamples:%d"
,
p_dec
->
fmt_out
.
audio
.
i_channels
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
p_dec
->
fmt_out
.
audio
.
i_channels
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
...
...
modules/codec/fluidsynth.c
View file @
b8813031
...
@@ -59,7 +59,7 @@ struct decoder_sys_t
...
@@ -59,7 +59,7 @@ struct decoder_sys_t
fluid_settings_t
*
settings
;
fluid_settings_t
*
settings
;
fluid_synth_t
*
synth
;
fluid_synth_t
*
synth
;
int
soundfont
;
int
soundfont
;
audio_date_t
end_date
;
date_t
end_date
;
};
};
...
@@ -110,8 +110,8 @@ static int Open (vlc_object_t *p_this)
...
@@ -110,8 +110,8 @@ static int Open (vlc_object_t *p_this)
return
VLC_EGENERIC
;
return
VLC_EGENERIC
;
}
}
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
}
}
...
@@ -142,10 +142,10 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
...
@@ -142,10 +142,10 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
return
NULL
;
return
NULL
;
*
pp_block
=
NULL
;
*
pp_block
=
NULL
;
if
(
p_block
->
i_pts
&&
!
aout_Date
Get
(
&
p_sys
->
end_date
))
if
(
p_block
->
i_pts
&&
!
date_
Get
(
&
p_sys
->
end_date
))
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
else
else
if
(
p_block
->
i_pts
<
aout_Date
Get
(
&
p_sys
->
end_date
))
if
(
p_block
->
i_pts
<
date_
Get
(
&
p_sys
->
end_date
))
{
{
msg_Warn
(
p_dec
,
"MIDI message in the past?"
);
msg_Warn
(
p_dec
,
"MIDI message in the past?"
);
goto
drop
;
goto
drop
;
...
@@ -178,7 +178,7 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
...
@@ -178,7 +178,7 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
}
}
unsigned
samples
=
unsigned
samples
=
(
p_block
->
i_pts
-
aout_Date
Get
(
&
p_sys
->
end_date
))
*
441
/
10000
;
(
p_block
->
i_pts
-
date_
Get
(
&
p_sys
->
end_date
))
*
441
/
10000
;
if
(
samples
==
0
)
if
(
samples
==
0
)
return
NULL
;
return
NULL
;
...
@@ -186,8 +186,8 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
...
@@ -186,8 +186,8 @@ static aout_buffer_t *DecodeBlock (decoder_t *p_dec, block_t **pp_block)
if
(
p_out
==
NULL
)
if
(
p_out
==
NULL
)
goto
drop
;
goto
drop
;
p_out
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_out
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_out
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
samples
);
p_out
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
samples
);
fluid_synth_write_float
(
p_sys
->
synth
,
samples
,
fluid_synth_write_float
(
p_sys
->
synth
,
samples
,
p_out
->
p_buffer
,
0
,
2
,
p_out
->
p_buffer
,
0
,
2
,
p_out
->
p_buffer
,
1
,
2
);
p_out
->
p_buffer
,
1
,
2
);
...
...
modules/codec/lpcm.c
View file @
b8813031
...
@@ -72,7 +72,7 @@ struct decoder_sys_t
...
@@ -72,7 +72,7 @@ struct decoder_sys_t
/*
/*
* Output properties
* Output properties
*/
*/
audio_date_t
end_date
;
date_t
end_date
;
/* */
/* */
unsigned
i_header_size
;
unsigned
i_header_size
;
...
@@ -193,7 +193,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
...
@@ -193,7 +193,7 @@ static int OpenCommon( vlc_object_t *p_this, bool b_packetizer )
/* Misc init */
/* Misc init */
p_sys
->
b_packetizer
=
b_packetizer
;
p_sys
->
b_packetizer
=
b_packetizer
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
i_type
=
i_type
;
p_sys
->
i_type
=
i_type
;
p_sys
->
i_header_size
=
i_header_size
;
p_sys
->
i_header_size
=
i_header_size
;
...
@@ -269,12 +269,12 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -269,12 +269,12 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
/* Date management */
/* Date management */
if
(
p_block
->
i_pts
>
0
&&
if
(
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
@@ -322,8 +322,8 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -322,8 +322,8 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
/* Set output properties */
/* Set output properties */
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
i_rate
)
if
(
p_dec
->
fmt_out
.
audio
.
i_rate
!=
i_rate
)
{
{
aout_DateInit
(
&
p_sys
->
end_date
,
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
p_dec
->
fmt_out
.
audio
.
i_rate
=
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_channels
=
i_channels
;
p_dec
->
fmt_out
.
audio
.
i_channels
=
i_channels
;
...
@@ -334,9 +334,9 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -334,9 +334,9 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
if
(
p_sys
->
b_packetizer
)
if
(
p_sys
->
b_packetizer
)
{
{
p_block
->
i_pts
=
p_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_pts
=
p_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
p_block
->
i_length
=
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_frame_length
)
-
date_
Increment
(
&
p_sys
->
end_date
,
i_frame_length
)
-
p_block
->
i_pts
;
p_block
->
i_pts
;
/* Just pass on the incoming frame */
/* Just pass on the incoming frame */
...
@@ -362,9 +362,9 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -362,9 +362,9 @@ static void *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
if
(
!
p_aout_buffer
)
if
(
!
p_aout_buffer
)
return
NULL
;
return
NULL
;
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_frame_length
);
date_
Increment
(
&
p_sys
->
end_date
,
i_frame_length
);
p_block
->
p_buffer
+=
p_sys
->
i_header_size
+
i_padding
;
p_block
->
p_buffer
+=
p_sys
->
i_header_size
+
i_padding
;
p_block
->
i_buffer
-=
p_sys
->
i_header_size
+
i_padding
;
p_block
->
i_buffer
-=
p_sys
->
i_header_size
+
i_padding
;
...
...
modules/codec/mpeg_audio.c
View file @
b8813031
...
@@ -56,7 +56,7 @@ struct decoder_sys_t
...
@@ -56,7 +56,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_
date_t
end_date
;
date_t
end_date
;
unsigned
int
i_current_layer
;
unsigned
int
i_current_layer
;
mtime_t
i_pts
;
mtime_t
i_pts
;
...
@@ -147,7 +147,7 @@ static int Open( vlc_object_t *p_this )
...
@@ -147,7 +147,7 @@ static int Open( vlc_object_t *p_this )
/* Misc init */
/* Misc init */
p_sys
->
b_packetizer
=
false
;
p_sys
->
b_packetizer
=
false
;
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
bytestream
=
block_BytestreamInit
();
p_sys
->
bytestream
=
block_BytestreamInit
();
p_sys
->
b_discontinuity
=
false
;
p_sys
->
b_discontinuity
=
false
;
...
@@ -210,13 +210,13 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -210,13 +210,13 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
p_sys
->
i_state
=
STATE_NOSYNC
;
p_sys
->
i_state
=
STATE_NOSYNC
;
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
block_BytestreamEmpty
(
&
p_sys
->
bytestream
);
}
}
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
block_Release
(
*
pp_block
);
block_Release
(
*
pp_block
);
p_sys
->
b_discontinuity
=
true
;
p_sys
->
b_discontinuity
=
true
;
return
NULL
;
return
NULL
;
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
&&
!
(
*
pp_block
)
->
i_pts
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
msg_Dbg
(
p_dec
,
"waiting for PTS"
);
msg_Dbg
(
p_dec
,
"waiting for PTS"
);
...
@@ -255,9 +255,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
...
@@ -255,9 +255,9 @@ static void *DecodeBlock( decoder_t *p_dec, block_t **pp_block )
/* New frame, set the Presentation Time Stamp */
/* New frame, set the Presentation Time Stamp */
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
p_sys
->
i_pts
=
p_sys
->
bytestream
.
p_block
->
i_pts
;
if
(
p_sys
->
i_pts
!=
0
&&
if
(
p_sys
->
i_pts
!=
0
&&
p_sys
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_sys
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_sys
->
i_state
=
STATE_HEADER
;
p_sys
->
i_state
=
STATE_HEADER
;
...
@@ -495,8 +495,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
...
@@ -495,8 +495,8 @@ static uint8_t *GetOutBuffer( decoder_t *p_dec, void **pp_out_buffer )
msg_Dbg
(
p_dec
,
"MPGA channels:%d samplerate:%d bitrate:%d"
,
msg_Dbg
(
p_dec
,
"MPGA channels:%d samplerate:%d bitrate:%d"
,
p_sys
->
i_channels
,
p_sys
->
i_rate
,
p_sys
->
i_bit_rate
);
p_sys
->
i_channels
,
p_sys
->
i_rate
,
p_sys
->
i_bit_rate
);
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_sys
->
i_pts
);
}
}
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_sys
->
i_rate
;
...
@@ -538,9 +538,9 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
...
@@ -538,9 +538,9 @@ static aout_buffer_t *GetAoutBuffer( decoder_t *p_dec )
p_buf
=
decoder_NewAudioBuffer
(
p_dec
,
p_sys
->
i_frame_length
);
p_buf
=
decoder_NewAudioBuffer
(
p_dec
,
p_sys
->
i_frame_length
);
if
(
p_buf
==
NULL
)
return
NULL
;
if
(
p_buf
==
NULL
)
return
NULL
;
p_buf
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_buf
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_buf
->
end_date
=
p_buf
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
);
p_buf
->
b_discontinuity
=
p_sys
->
b_discontinuity
;
p_buf
->
b_discontinuity
=
p_sys
->
b_discontinuity
;
p_sys
->
b_discontinuity
=
false
;
p_sys
->
b_discontinuity
=
false
;
...
@@ -561,10 +561,10 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
...
@@ -561,10 +561,10 @@ static block_t *GetSoutBuffer( decoder_t *p_dec )
p_block
=
block_New
(
p_dec
,
p_sys
->
i_frame_size
);
p_block
=
block_New
(
p_dec
,
p_sys
->
i_frame_size
);
if
(
p_block
==
NULL
)
return
NULL
;
if
(
p_block
==
NULL
)
return
NULL
;
p_block
->
i_pts
=
p_block
->
i_dts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_pts
=
p_block
->
i_dts
=
date_
Get
(
&
p_sys
->
end_date
);
p_block
->
i_length
=
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
)
-
p_block
->
i_pts
;
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
i_frame_length
)
-
p_block
->
i_pts
;
return
p_block
;
return
p_block
;
}
}
...
...
modules/codec/quicktime.c
View file @
b8813031
...
@@ -187,7 +187,7 @@ struct decoder_sys_t
...
@@ -187,7 +187,7 @@ struct decoder_sys_t
/* Output properties */
/* Output properties */
uint8_t
*
plane
;
uint8_t
*
plane
;
mtime_t
pts
;
mtime_t
pts
;
audio_date_t
date
;
date_t
date
;
int
i_late
;
/* video */
int
i_late
;
/* video */
...
@@ -492,7 +492,7 @@ static int OpenAudio( decoder_t *p_dec )
...
@@ -492,7 +492,7 @@ static int OpenAudio( decoder_t *p_dec )
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_maps
[
p_sys
->
OutputFormatInfo
.
numChannels
];
pi_channels_maps
[
p_sys
->
OutputFormatInfo
.
numChannels
];
aout_DateInit
(
&
p_sys
->
date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
p_sys
->
i_buffer
=
0
;
p_sys
->
i_buffer
=
0
;
p_sys
->
i_buffer_size
=
100
*
1000
;
p_sys
->
i_buffer_size
=
100
*
1000
;
...
@@ -615,11 +615,11 @@ static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
...
@@ -615,11 +615,11 @@ static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
}
}
if
(
p_sys
->
pts
!=
0
&&
if
(
p_sys
->
pts
!=
0
&&
p_sys
->
pts
!=
aout_Date
Get
(
&
p_sys
->
date
)
)
p_sys
->
pts
!=
date_
Get
(
&
p_sys
->
date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
date
,
p_sys
->
pts
);
date_
Set
(
&
p_sys
->
date
,
p_sys
->
pts
);
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
date
)
)
{
{
return
NULL
;
return
NULL
;
}
}
...
@@ -642,8 +642,8 @@ static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
...
@@ -642,8 +642,8 @@ static aout_buffer_t *DecodeAudio( decoder_t *p_dec, block_t **pp_block )
if
(
p_out
)
if
(
p_out
)
{
{
p_out
->
start_date
=
aout_Date
Get
(
&
p_sys
->
date
);
p_out
->
start_date
=
date_
Get
(
&
p_sys
->
date
);
p_out
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
date
,
i_frames
);
p_out
->
end_date
=
date_
Increment
(
&
p_sys
->
date
,
i_frames
);
memcpy
(
p_out
->
p_buffer
,
memcpy
(
p_out
->
p_buffer
,
&
p_sys
->
out_buffer
[
2
*
p_sys
->
i_out
*
p_dec
->
fmt_out
.
audio
.
i_channels
],
&
p_sys
->
out_buffer
[
2
*
p_sys
->
i_out
*
p_dec
->
fmt_out
.
audio
.
i_channels
],
...
...
modules/codec/realaudio.c
View file @
b8813031
...
@@ -81,7 +81,7 @@ static aout_buffer_t *Decode( decoder_t *, block_t ** );
...
@@ -81,7 +81,7 @@ static aout_buffer_t *Decode( decoder_t *, block_t ** );
struct
decoder_sys_t
struct
decoder_sys_t
{
{
audio_
date_t
end_date
;
date_t
end_date
;
/* Output buffer */
/* Output buffer */
char
*
p_out
;
char
*
p_out
;
...
@@ -231,8 +231,8 @@ static int Open( vlc_object_t *p_this )
...
@@ -231,8 +231,8 @@ static int Open( vlc_object_t *p_this )
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
p_dec
->
fmt_out
.
audio
.
i_original_channels
=
pi_channels_maps
[
p_dec
->
fmt_out
.
audio
.
i_channels
];
pi_channels_maps
[
p_dec
->
fmt_out
.
audio
.
i_channels
];
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_out
.
audio
.
i_rate
,
1
);
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_dec
->
pf_decode_audio
=
Decode
;
p_dec
->
pf_decode_audio
=
Decode
;
...
@@ -689,12 +689,12 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
...
@@ -689,12 +689,12 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
/* Date management */
/* Date management */
if
(
p_block
->
i_pts
>
0
&&
if
(
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
if
(
p_block
)
block_Release
(
p_block
);
if
(
p_block
)
block_Release
(
p_block
);
...
@@ -711,9 +711,9 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
...
@@ -711,9 +711,9 @@ static aout_buffer_t *Decode( decoder_t *p_dec, block_t **pp_block )
memcpy
(
p_aout_buffer
->
p_buffer
,
p_sys
->
p_out
,
p_sys
->
i_out
);
memcpy
(
p_aout_buffer
->
p_buffer
,
p_sys
->
p_out
,
p_sys
->
i_out
);
/* Date management */
/* Date management */
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
);
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
);
}
}
block_Release
(
p_block
);
block_Release
(
p_block
);
...
...
modules/codec/speex.c
View file @
b8813031
...
@@ -165,7 +165,7 @@ struct decoder_sys_t
...
@@ -165,7 +165,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_
date_t
end_date
;
date_t
end_date
;
};
};
...
@@ -215,7 +215,7 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -215,7 +215,7 @@ static int OpenDecoder( vlc_object_t *p_this )
p_dec
->
p_sys
->
b_packetizer
=
false
;
p_dec
->
p_sys
->
b_packetizer
=
false
;
p_dec
->
p_sys
->
rtp_rate
=
p_dec
->
fmt_in
.
audio
.
i_rate
;
p_dec
->
p_sys
->
rtp_rate
=
p_dec
->
fmt_in
.
audio
.
i_rate
;
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
/* Set output properties */
/* Set output properties */
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
...
@@ -489,7 +489,7 @@ static int ProcessInitialHeader( decoder_t *p_dec, ogg_packet *p_oggpacket )
...
@@ -489,7 +489,7 @@ static int ProcessInitialHeader( decoder_t *p_dec, ogg_packet *p_oggpacket )
p_dec
->
fmt_out
.
audio
.
i_channels
=
p_header
->
nb_channels
;
p_dec
->
fmt_out
.
audio
.
i_channels
=
p_header
->
nb_channels
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_header
->
rate
;
p_dec
->
fmt_out
.
audio
.
i_rate
=
p_header
->
rate
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_header
->
rate
);
date_Init
(
&
p_sys
->
end_date
,
p_header
->
rate
,
1
);
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
}
}
...
@@ -505,12 +505,12 @@ static void *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
...
@@ -505,12 +505,12 @@ static void *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
/* Date management */
/* Date management */
if
(
p_block
&&
p_block
->
i_pts
>
0
&&
if
(
p_block
&&
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
if
(
p_block
)
block_Release
(
p_block
);
if
(
p_block
)
block_Release
(
p_block
);
...
@@ -660,7 +660,7 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
...
@@ -660,7 +660,7 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
}
}
p_dec
->
fmt_out
.
audio
.
i_bytes_per_frame
=
i_speex_frame_size
;
p_dec
->
fmt_out
.
audio
.
i_bytes_per_frame
=
i_speex_frame_size
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
rate
,
1
);
}
}
/*
/*
...
@@ -674,8 +674,8 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
...
@@ -674,8 +674,8 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
}
}
*
pp_block
=
NULL
;
*
pp_block
=
NULL
;
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
aout_Date
Set
(
&
p_sys
->
end_date
,
p_speex_bit_block
->
i_dts
);
date_
Set
(
&
p_sys
->
end_date
,
p_speex_bit_block
->
i_dts
);
/*
/*
Ask for a new audio output buffer and make sure
Ask for a new audio output buffer and make sure
...
@@ -711,8 +711,8 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
...
@@ -711,8 +711,8 @@ static aout_buffer_t *DecodeRtpSpeexPacket( decoder_t *p_dec, block_t **pp_block
/*
/*
Handle date management on the audio output buffer.
Handle date management on the audio output buffer.
*/
*/
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_aout_buffer
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
frame_size
);
p_sys
->
p_header
->
frame_size
);
...
@@ -771,9 +771,9 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
...
@@ -771,9 +771,9 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
&
p_sys
->
stereo
);
&
p_sys
->
stereo
);
/* Date management */
/* Date management */
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
frame_size
);
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
frame_size
);
p_sys
->
i_frame_in_packet
++
;
p_sys
->
i_frame_in_packet
++
;
...
@@ -793,12 +793,12 @@ static block_t *SendPacket( decoder_t *p_dec, block_t *p_block )
...
@@ -793,12 +793,12 @@ static block_t *SendPacket( decoder_t *p_dec, block_t *p_block )
decoder_sys_t
*
p_sys
=
p_dec
->
p_sys
;
decoder_sys_t
*
p_sys
=
p_dec
->
p_sys
;
/* Date management */
/* Date management */
p_block
->
i_dts
=
p_block
->
i_pts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_dts
=
p_block
->
i_pts
=
date_
Get
(
&
p_sys
->
end_date
);
if
(
p_sys
->
i_headers
>=
p_sys
->
p_header
->
extra_headers
+
2
)
if
(
p_sys
->
i_headers
>=
p_sys
->
p_header
->
extra_headers
+
2
)
{
{
p_block
->
i_length
=
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
date_
Increment
(
&
p_sys
->
end_date
,
p_sys
->
p_header
->
frame_size
)
-
p_sys
->
p_header
->
frame_size
)
-
p_block
->
i_pts
;
p_block
->
i_pts
;
}
}
...
...
modules/codec/vorbis.c
View file @
b8813031
...
@@ -79,7 +79,7 @@ struct decoder_sys_t
...
@@ -79,7 +79,7 @@ struct decoder_sys_t
/*
/*
* Common properties
* Common properties
*/
*/
audio_date_t
end_date
;
date_t
end_date
;
int
i_last_block_size
;
int
i_last_block_size
;
/*
/*
...
@@ -233,7 +233,7 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -233,7 +233,7 @@ static int OpenDecoder( vlc_object_t *p_this )
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
/* Misc init */
/* Misc init */
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
p_sys
->
i_last_block_size
=
0
;
p_sys
->
i_last_block_size
=
0
;
p_sys
->
b_packetizer
=
false
;
p_sys
->
b_packetizer
=
false
;
p_sys
->
i_headers
=
0
;
p_sys
->
i_headers
=
0
;
...
@@ -401,7 +401,7 @@ static int ProcessHeaders( decoder_t *p_dec )
...
@@ -401,7 +401,7 @@ static int ProcessHeaders( decoder_t *p_dec )
pi_channels_maps
[
p_sys
->
vi
.
channels
];
pi_channels_maps
[
p_sys
->
vi
.
channels
];
p_dec
->
fmt_out
.
i_bitrate
=
p_sys
->
vi
.
bitrate_nominal
;
p_dec
->
fmt_out
.
i_bitrate
=
p_sys
->
vi
.
bitrate_nominal
;
aout_DateInit
(
&
p_sys
->
end_date
,
p_sys
->
vi
.
rate
);
date_Init
(
&
p_sys
->
end_date
,
p_sys
->
vi
.
rate
,
1
);
msg_Dbg
(
p_dec
,
"channels:%d samplerate:%ld bitrate:%ld"
,
msg_Dbg
(
p_dec
,
"channels:%d samplerate:%ld bitrate:%ld"
,
p_sys
->
vi
.
channels
,
p_sys
->
vi
.
rate
,
p_sys
->
vi
.
bitrate_nominal
);
p_sys
->
vi
.
channels
,
p_sys
->
vi
.
rate
,
p_sys
->
vi
.
bitrate_nominal
);
...
@@ -477,12 +477,12 @@ static void *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
...
@@ -477,12 +477,12 @@ static void *ProcessPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
/* Date management */
/* Date management */
if
(
p_block
&&
p_block
->
i_pts
>
0
&&
if
(
p_block
&&
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
}
}
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
if
(
p_block
)
block_Release
(
p_block
);
if
(
p_block
)
block_Release
(
p_block
);
...
@@ -559,8 +559,8 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
...
@@ -559,8 +559,8 @@ static aout_buffer_t *DecodePacket( decoder_t *p_dec, ogg_packet *p_oggpacket )
vorbis_synthesis_read
(
&
p_sys
->
vd
,
i_samples
);
vorbis_synthesis_read
(
&
p_sys
->
vd
,
i_samples
);
/* Date management */
/* Date management */
p_aout_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_aout_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
);
p_aout_buffer
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
);
return
p_aout_buffer
;
return
p_aout_buffer
;
}
}
else
else
...
@@ -584,10 +584,10 @@ static block_t *SendPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
...
@@ -584,10 +584,10 @@ static block_t *SendPacket( decoder_t *p_dec, ogg_packet *p_oggpacket,
p_sys
->
i_last_block_size
=
i_block_size
;
p_sys
->
i_last_block_size
=
i_block_size
;
/* Date management */
/* Date management */
p_block
->
i_dts
=
p_block
->
i_pts
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_block
->
i_dts
=
p_block
->
i_pts
=
date_
Get
(
&
p_sys
->
end_date
);
if
(
p_sys
->
i_headers
>=
3
)
if
(
p_sys
->
i_headers
>=
3
)
p_block
->
i_length
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
)
-
p_block
->
i_pts
;
p_block
->
i_length
=
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
)
-
p_block
->
i_pts
;
else
else
p_block
->
i_length
=
0
;
p_block
->
i_length
=
0
;
...
...
modules/codec/wmafixed/wma.c
View file @
b8813031
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
*****************************************************************************/
*****************************************************************************/
struct
decoder_sys_t
struct
decoder_sys_t
{
{
audio_
date_t
end_date
;
/* To set the PTS */
date_t
end_date
;
/* To set the PTS */
WMADecodeContext
wmadec
;
/* name is self explanative */
WMADecodeContext
wmadec
;
/* name is self explanative */
int32_t
*
p_output
;
/* buffer where the frames are rendered */
int32_t
*
p_output
;
/* buffer where the frames are rendered */
...
@@ -101,8 +101,8 @@ static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
...
@@ -101,8 +101,8 @@ static aout_buffer_t *SplitBuffer( decoder_t *p_dec )
if
(
!
(
p_buffer
=
p_dec
->
pf_aout_buffer_new
(
p_dec
,
i_samples
)
)
)
if
(
!
(
p_buffer
=
p_dec
->
pf_aout_buffer_new
(
p_dec
,
i_samples
)
)
)
return
NULL
;
return
NULL
;
p_buffer
->
start_date
=
aout_Date
Get
(
&
p_sys
->
end_date
);
p_buffer
->
start_date
=
date_
Get
(
&
p_sys
->
end_date
);
p_buffer
->
end_date
=
aout_Date
Increment
(
&
p_sys
->
end_date
,
i_samples
);
p_buffer
->
end_date
=
date_
Increment
(
&
p_sys
->
end_date
,
i_samples
);
memcpy
(
p_buffer
->
p_buffer
,
p_sys
->
p_samples
,
p_buffer
->
i_nb_bytes
);
memcpy
(
p_buffer
->
p_buffer
,
p_sys
->
p_samples
,
p_buffer
->
i_nb_bytes
);
p_sys
->
p_samples
+=
p_buffer
->
i_nb_bytes
;
p_sys
->
p_samples
+=
p_buffer
->
i_nb_bytes
;
...
@@ -133,7 +133,7 @@ static int OpenDecoder( vlc_object_t *p_this )
...
@@ -133,7 +133,7 @@ static int OpenDecoder( vlc_object_t *p_this )
memset
(
p_sys
,
0
,
sizeof
(
decoder_sys_t
)
);
memset
(
p_sys
,
0
,
sizeof
(
decoder_sys_t
)
);
/* Date */
/* Date */
aout_DateInit
(
&
p_sys
->
end_date
,
p_dec
->
fmt_in
.
audio
.
i_rate
);
date_Init
(
&
p_sys
->
end_date
,
p_dec
->
fmt_in
.
audio
.
i_rate
,
1
);
/* Set output properties */
/* Set output properties */
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
p_dec
->
fmt_out
.
i_cat
=
AUDIO_ES
;
...
@@ -206,7 +206,7 @@ static aout_buffer_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -206,7 +206,7 @@ static aout_buffer_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
if
(
p_block
->
i_flags
&
(
BLOCK_FLAG_DISCONTINUITY
|
BLOCK_FLAG_CORRUPTED
)
)
if
(
p_block
->
i_flags
&
(
BLOCK_FLAG_DISCONTINUITY
|
BLOCK_FLAG_CORRUPTED
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
0
);
date_
Set
(
&
p_sys
->
end_date
,
0
);
block_Release
(
p_block
);
block_Release
(
p_block
);
*
pp_block
=
NULL
;
*
pp_block
=
NULL
;
return
NULL
;
return
NULL
;
...
@@ -229,13 +229,13 @@ static aout_buffer_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
...
@@ -229,13 +229,13 @@ static aout_buffer_t *DecodeFrame( decoder_t *p_dec, block_t **pp_block )
/* Date management */
/* Date management */
if
(
p_block
->
i_pts
>
0
&&
if
(
p_block
->
i_pts
>
0
&&
p_block
->
i_pts
!=
aout_Date
Get
(
&
p_sys
->
end_date
)
)
p_block
->
i_pts
!=
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
aout_Date
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
date_
Set
(
&
p_sys
->
end_date
,
p_block
->
i_pts
);
/* don't reuse the same pts */
/* don't reuse the same pts */
p_block
->
i_pts
=
0
;
p_block
->
i_pts
=
0
;
}
}
else
if
(
!
aout_Date
Get
(
&
p_sys
->
end_date
)
)
else
if
(
!
date_
Get
(
&
p_sys
->
end_date
)
)
{
{
/* We've just started the stream, wait for the first PTS. */
/* We've just started the stream, wait for the first PTS. */
block_Release
(
p_block
);
block_Release
(
p_block
);
...
...
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