Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
external
ffmpeg
Commits
56a10009
Commit
56a10009
authored
Apr 05, 2011
by
Anton Khirnov
Browse files
lavf: if id3v2 tag is present and all else fails, guess by file extension
parent
5371803d
Changes
1
Hide whitespace changes
Inline
Side-by-side
libavformat/utils.c
View file @
56a10009
...
...
@@ -371,7 +371,7 @@ AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score
{
AVProbeData
lpd
=
*
pd
;
AVInputFormat
*
fmt1
=
NULL
,
*
fmt
;
int
score
;
int
score
,
id3
=
0
;
if
(
lpd
.
buf_size
>
10
&&
ff_id3v2_match
(
lpd
.
buf
,
ID3v2_DEFAULT_MAGIC
))
{
int
id3len
=
ff_id3v2_tag_len
(
lpd
.
buf
);
...
...
@@ -379,6 +379,7 @@ AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score
lpd
.
buf
+=
id3len
;
lpd
.
buf_size
-=
id3len
;
}
id3
=
1
;
}
fmt
=
NULL
;
...
...
@@ -399,6 +400,16 @@ AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score
}
else
if
(
score
==
*
score_max
)
fmt
=
NULL
;
}
/* a hack for files with huge id3v2 tags -- try to guess by file extension. */
if
(
!
fmt
&&
id3
&&
*
score_max
<
AVPROBE_SCORE_MAX
/
4
)
{
while
((
fmt
=
av_iformat_next
(
fmt
)))
if
(
fmt
->
extensions
&&
av_match_ext
(
lpd
.
filename
,
fmt
->
extensions
))
{
*
score_max
=
AVPROBE_SCORE_MAX
/
4
;
break
;
}
}
return
fmt
;
}
...
...
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