diff options
author | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-07-29 21:10:39 +0200 |
---|---|---|
committer | Reimar Döffinger <Reimar.Doeffinger@gmx.de> | 2014-08-16 14:31:41 +0200 |
commit | a0941c8a2b3e55dc4482c874523afcb7ed6e93e6 (patch) | |
tree | 9e472048b168454605936246a7aeab4c0bade8f6 /libavformat/matroskadec.c | |
parent | c2829dc925ffcc2a5934f3e99360a89fb0a3cad5 (diff) | |
download | ffmpeg-a0941c8a2b3e55dc4482c874523afcb7ed6e93e6.tar.gz |
Use new av_dict_set_int helper function.
Get rid of the many, slightly differing, implementations
of basically the same thing.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Diffstat (limited to 'libavformat/matroskadec.c')
-rw-r--r-- | libavformat/matroskadec.c | 31 |
1 files changed, 7 insertions, 24 deletions
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 09d23f67ed..c19e8e9ca8 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -3345,30 +3345,18 @@ static int webm_dash_manifest_cues(AVFormatContext *s) matroska_parse_cues(matroska); // cues start - buf = av_asprintf("%" PRId64, cues_start); - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, CUES_START, buf, 0); - av_free(buf); + av_dict_set_int(&s->streams[0]->metadata, CUES_START, cues_start, 0); // cues end - buf = av_asprintf("%" PRId64, cues_end); - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, CUES_END, buf, 0); - av_free(buf); + av_dict_set_int(&s->streams[0]->metadata, CUES_END, cues_end, 0); // bandwidth bandwidth = webm_dash_manifest_compute_bandwidth(s, cues_start); if (bandwidth < 0) return -1; - buf = av_asprintf("%" PRId64, bandwidth); - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, BANDWIDTH, buf, 0); - av_free(buf); + av_dict_set_int(&s->streams[0]->metadata, BANDWIDTH, bandwidth, 0); // check if all clusters start with key frames - buf = av_asprintf("%d", webm_clusters_start_with_keyframe(s)); - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, CLUSTER_KEYFRAME, buf, 0); - av_free(buf); + av_dict_set_int(&s->streams[0]->metadata, CLUSTER_KEYFRAME, webm_clusters_start_with_keyframe(s), 0); // store cue point timestamps as a comma separated list for checking subsegment alignment in // the muxer. assumes that each timestamp cannot be more than 20 characters long. @@ -3399,10 +3387,8 @@ static int webm_dash_manifest_read_header(AVFormatContext *s) } // initialization range - buf = av_asprintf("%" PRId64, avio_tell(s->pb) - 5); // 5 is the offset of Cluster ID. - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, INITIALIZATION_RANGE, buf, 0); - av_free(buf); + // 5 is the offset of Cluster ID. + av_dict_set_int(&s->streams[0]->metadata, INITIALIZATION_RANGE, avio_tell(s->pb) - 5, 0); // basename of the file buf = strrchr(s->filename, '/'); @@ -3417,10 +3403,7 @@ static int webm_dash_manifest_read_header(AVFormatContext *s) // track number tracks = matroska->tracks.elem; - buf = av_asprintf("%" PRId64, tracks[0].num); - if (!buf) return AVERROR(ENOMEM); - av_dict_set(&s->streams[0]->metadata, TRACK_NUMBER, buf, 0); - av_free(buf); + av_dict_set_int(&s->streams[0]->metadata, TRACK_NUMBER, tracks[0].num, 0); // parse the cues and populate Cue related fields return webm_dash_manifest_cues(s); |