1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

lavf/webvttdec: factorize identifier and settings side data code.

This commit is contained in:
Clément Bœsch 2013-06-01 15:08:00 +02:00
parent 8f75ba9926
commit 07f6a66bf5

View File

@ -142,27 +142,19 @@ static int webvtt_read_header(AVFormatContext *s)
sub->pts = ts_start; sub->pts = ts_start;
sub->duration = ts_end - ts_start; sub->duration = ts_end - ts_start;
if (identifier_len) { #define SET_SIDE_DATA(name, type) do { \
uint8_t *buf = av_packet_new_side_data(sub, if (name##_len) { \
AV_PKT_DATA_WEBVTT_IDENTIFIER, uint8_t *buf = av_packet_new_side_data(sub, type, name##_len); \
identifier_len); if (!buf) { \
if (!buf) { res = AVERROR(ENOMEM); \
res = AVERROR(ENOMEM); goto end; \
goto end; } \
} memcpy(buf, name, name##_len); \
memcpy(buf, identifier, identifier_len); } \
} } while (0)
if (settings_len) { SET_SIDE_DATA(identifier, AV_PKT_DATA_WEBVTT_IDENTIFIER);
uint8_t *buf = av_packet_new_side_data(sub, SET_SIDE_DATA(settings, AV_PKT_DATA_WEBVTT_SETTINGS);
AV_PKT_DATA_WEBVTT_SETTINGS,
settings_len);
if (!buf) {
res = AVERROR(ENOMEM);
goto end;
}
memcpy(buf, settings, settings_len);
}
} }
ff_subtitles_queue_finalize(&webvtt->q); ff_subtitles_queue_finalize(&webvtt->q);