summaryrefslogtreecommitdiff
path: root/libavformat/asf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/asf.c')
-rw-r--r--libavformat/asf.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/asf.c b/libavformat/asf.c
index 9cebd4c3da..6491c0f331 100644
--- a/libavformat/asf.c
+++ b/libavformat/asf.c
@@ -390,7 +390,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
{
if (!strcmp(name,"WM/AlbumTitle")) get_str16_nolen(pb, value_len, s->album, sizeof(s->album));
else if(!strcmp(name,"WM/Genre" )) get_str16_nolen(pb, value_len, s->genre, sizeof(s->genre));
- else if(!strcmp(name,"WM/Track")) {
+ else if(!strcmp(name,"WM/Track") && s->track == 0) {
char track[8];
get_str16_nolen(pb, value_len, track, sizeof(track));
s->track = strtol(track, NULL, 10) + 1;
@@ -405,7 +405,7 @@ static int asf_read_header(AVFormatContext *s, AVFormatParameters *ap)
if ((value_type >= 2) && (value_type <= 5)) // boolean or DWORD or QWORD or WORD
{
value_num= get_value(pb, value_type);
- if (!strcmp(name,"WM/Track" )) s->track = value_num + 1;
+ if (!strcmp(name,"WM/Track" ) && s->track == 0) s->track = value_num + 1;
if (!strcmp(name,"WM/TrackNumber")) s->track = value_num;
}
}