diff options
Diffstat (limited to 'libmpdemux/demuxer.h')
-rw-r--r-- | libmpdemux/demuxer.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h index 2c200ead1e..63a34f30f6 100644 --- a/libmpdemux/demuxer.h +++ b/libmpdemux/demuxer.h @@ -466,15 +466,18 @@ int demuxer_set_angle(demuxer_t *demuxer, int angle); /// Get number of angles. int demuxer_angles_count(demuxer_t *demuxer); -// get the index of a track -// lang is a comma-separated list -int demuxer_audio_track_by_lang(demuxer_t* demuxer, char* lang); -int demuxer_sub_track_by_lang(demuxer_t* demuxer, char* lang); - -// find the default track -// for subtitles, it is the first track with default attribute -// for audio, additionally, the first track is selected if no track has default attribute set -int demuxer_default_audio_track(demuxer_t* d); -int demuxer_default_sub_track(demuxer_t* d); +/* Get the index of a track. + * lang is a comma-separated list, NULL is same as empty list + * Sort tracks based on the following criteria: + * 1) earlier match in lang list, or last no match + * 2) track is marked default (default wins) + * 3) track number (lower wins) + * For audio, select best track according to these criteria; only return -1 + * if there are no tracks at all. + * For subs, select best track according to the same criteria, but return -1 + * if all tracks are no-lang-match, not-default. + */ +int demuxer_audio_track_by_lang_and_default(struct demuxer *d, char *lang); +int demuxer_sub_track_by_lang_and_default(struct demuxer *d, char *lang); #endif /* MPLAYER_DEMUXER_H */ |