Signed-off-by: Oleksij Rempel <[email protected]>
---
libavformat/dss.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/libavformat/dss.c b/libavformat/dss.c
index 8d0896a..8990786 100644
--- a/libavformat/dss.c
+++ b/libavformat/dss.c
@@ -65,7 +65,7 @@ static int dss_probe(AVProbeData *p)
}
static int dss_read_metadata_date(AVFormatContext *s, unsigned int offset,
- const char *key)
+ const char *key)
{
AVIOContext *pb = s->pb;
char string[DSS_TIME_SIZE], datetime[64];
@@ -86,11 +86,11 @@ static int dss_read_metadata_date(AVFormatContext *s,
unsigned int offset,
y + 2000, month, d, h, minute, sec);
av_dict_set(&s->metadata, key, datetime, 0);
- return ret;
+ return 0;
}
static int dss_read_metadata_string(AVFormatContext *s, unsigned int offset,
- unsigned int size, const char *key)
+ unsigned int size, const char *key)
{
AVIOContext *pb = s->pb;
char *value;
@@ -111,7 +111,7 @@ static int dss_read_metadata_string(AVFormatContext *s,
unsigned int offset,
if (ret < size)
return ret < 0 ? ret : AVERROR_EOF;
- return ret;
+ return 0;
}
static int dss_read_header(AVFormatContext *s)
@@ -119,6 +119,7 @@ static int dss_read_header(AVFormatContext *s)
DSSDemuxContext *priv = s->priv_data;
AVStream *st;
AVIOContext *pb = s->pb;
+ int ret;
if (avio_size(pb) <= DSS_HEADER_SIZE)
return AVERROR(EINVAL);
@@ -127,12 +128,19 @@ static int dss_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
- dss_read_metadata_string(s, DSS_HEAD_OFFSET_AUTHOR,
- DSS_AUTHOR_SIZE, "author");
- dss_read_metadata_date(s, DSS_HEAD_OFFSET_END_TIME, "date");
+ ret = dss_read_metadata_string(s, DSS_HEAD_OFFSET_AUTHOR,
+ DSS_AUTHOR_SIZE, "author");
+ if (ret)
+ return ret;
- dss_read_metadata_string(s, DSS_HEAD_OFFSET_COMMENT,
- DSS_COMMENT_SIZE, "comment");
+ ret = dss_read_metadata_date(s, DSS_HEAD_OFFSET_END_TIME, "date");
+ if (ret)
+ return ret;
+
+ ret = dss_read_metadata_string(s, DSS_HEAD_OFFSET_COMMENT,
+ DSS_COMMENT_SIZE, "comment");
+ if (ret)
+ return ret;
avio_seek(pb, DSS_HEAD_OFFSET_ACODEC, SEEK_SET);
priv->audio_codec = avio_r8(pb);
--
1.9.1
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel