matroskadec: export track name through the metadata API

Originally committed as revision 17329 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Aurelien Jacobs 16 years ago
parent 6cb6e159f8
commit 38766e084f
  1. 4
      libavformat/matroskadec.c

@ -129,6 +129,7 @@ typedef struct {
typedef struct { typedef struct {
uint64_t num; uint64_t num;
uint64_t type; uint64_t type;
char *name;
char *codec_id; char *codec_id;
EbmlBin codec_priv; EbmlBin codec_priv;
char *language; char *language;
@ -303,6 +304,7 @@ static EbmlSyntax matroska_track_encodings[] = {
static EbmlSyntax matroska_track[] = { static EbmlSyntax matroska_track[] = {
{ MATROSKA_ID_TRACKNUMBER, EBML_UINT, 0, offsetof(MatroskaTrack,num) }, { MATROSKA_ID_TRACKNUMBER, EBML_UINT, 0, offsetof(MatroskaTrack,num) },
{ MATROSKA_ID_TRACKNAME, EBML_UTF8, 0, offsetof(MatroskaTrack,name) },
{ MATROSKA_ID_TRACKTYPE, EBML_UINT, 0, offsetof(MatroskaTrack,type) }, { MATROSKA_ID_TRACKTYPE, EBML_UINT, 0, offsetof(MatroskaTrack,type) },
{ MATROSKA_ID_CODECID, EBML_STR, 0, offsetof(MatroskaTrack,codec_id) }, { MATROSKA_ID_CODECID, EBML_STR, 0, offsetof(MatroskaTrack,codec_id) },
{ MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) }, { MATROSKA_ID_CODECPRIVATE, EBML_BIN, 0, offsetof(MatroskaTrack,codec_priv) },
@ -314,7 +316,6 @@ static EbmlSyntax matroska_track[] = {
{ MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} }, { MATROSKA_ID_TRACKAUDIO, EBML_NEST, 0, offsetof(MatroskaTrack,audio), {.n=matroska_track_audio} },
{ MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} }, { MATROSKA_ID_TRACKCONTENTENCODINGS,EBML_NEST, 0, 0, {.n=matroska_track_encodings} },
{ MATROSKA_ID_TRACKUID, EBML_NONE }, { MATROSKA_ID_TRACKUID, EBML_NONE },
{ MATROSKA_ID_TRACKNAME, EBML_NONE },
{ MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE }, { MATROSKA_ID_TRACKFLAGENABLED, EBML_NONE },
{ MATROSKA_ID_TRACKFLAGFORCED, EBML_NONE }, { MATROSKA_ID_TRACKFLAGFORCED, EBML_NONE },
{ MATROSKA_ID_TRACKFLAGLACING, EBML_NONE }, { MATROSKA_ID_TRACKFLAGLACING, EBML_NONE },
@ -1295,6 +1296,7 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
st->start_time = 0; st->start_time = 0;
if (strcmp(track->language, "und")) if (strcmp(track->language, "und"))
av_metadata_set(&st->metadata, "language", track->language); av_metadata_set(&st->metadata, "language", track->language);
av_metadata_set(&st->metadata, "description", track->name);
if (track->flag_default) if (track->flag_default)
st->disposition |= AV_DISPOSITION_DEFAULT; st->disposition |= AV_DISPOSITION_DEFAULT;

Loading…
Cancel
Save