Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
51da7d02
Commit
51da7d02
authored
Jan 01, 2015
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
matroskaenc: refuse to write AAC without valid extradata
parent
7e4e010b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
6 deletions
+10
-6
matroskaenc.c
libavformat/matroskaenc.c
+10
-6
No files found.
libavformat/matroskaenc.c
View file @
51da7d02
...
...
@@ -520,20 +520,21 @@ static int put_flac_codecpriv(AVFormatContext *s,
return
0
;
}
static
void
get_aac_sample_rates
(
AVFormatContext
*
s
,
AVCodecContext
*
codec
,
int
*
sample_rate
,
int
*
output_sample_rate
)
static
int
get_aac_sample_rates
(
AVFormatContext
*
s
,
AVCodecContext
*
codec
,
int
*
sample_rate
,
int
*
output_sample_rate
)
{
MPEG4AudioConfig
mp4ac
;
if
(
avpriv_mpeg4audio_get_config
(
&
mp4ac
,
codec
->
extradata
,
codec
->
extradata_size
*
8
,
1
)
<
0
)
{
av_log
(
s
,
AV_LOG_
WARNING
,
av_log
(
s
,
AV_LOG_
ERROR
,
"Error parsing AAC extradata, unable to determine samplerate.
\n
"
);
return
;
return
AVERROR
(
EINVAL
)
;
}
*
sample_rate
=
mp4ac
.
sample_rate
;
*
output_sample_rate
=
mp4ac
.
ext_sample_rate
;
return
0
;
}
static
int
mkv_write_native_codecprivate
(
AVFormatContext
*
s
,
...
...
@@ -748,8 +749,11 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
if
(
!
bit_depth
)
bit_depth
=
av_get_bytes_per_sample
(
codec
->
sample_fmt
)
<<
3
;
if
(
codec
->
codec_id
==
AV_CODEC_ID_AAC
)
get_aac_sample_rates
(
s
,
codec
,
&
sample_rate
,
&
output_sample_rate
);
if
(
codec
->
codec_id
==
AV_CODEC_ID_AAC
)
{
ret
=
get_aac_sample_rates
(
s
,
codec
,
&
sample_rate
,
&
output_sample_rate
);
if
(
ret
<
0
)
return
ret
;
}
track
=
start_ebml_master
(
pb
,
MATROSKA_ID_TRACKENTRY
,
0
);
put_ebml_uint
(
pb
,
MATROSKA_ID_TRACKNUMBER
,
i
+
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