Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
FFmpeg
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
libremedia
Tethys
FFmpeg
Commits
1a53a438
Commit
1a53a438
authored
13 years ago
by
Reinhard Tartler
Browse files
Options
Downloads
Patches
Plain Diff
avformat: doxify the Metadata API
convert the comment that documents the metadata API to use the doxygen markup
parent
4f731c44
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
libavformat/avformat.h
+39
-34
39 additions, 34 deletions
libavformat/avformat.h
with
39 additions
and
34 deletions
libavformat/avformat.h
+
39
−
34
View file @
1a53a438
...
@@ -48,63 +48,68 @@ const char *avformat_license(void);
...
@@ -48,63 +48,68 @@ const char *avformat_license(void);
struct
AVFormatContext
;
struct
AVFormatContext
;
/*
/**
* Public Metadata API.
* @defgroup metadata_api Public Metadata API
* @{
* The metadata API allows libavformat to export metadata tags to a client
* The metadata API allows libavformat to export metadata tags to a client
* application using a sequence of key/value pairs. Like all strings in Libav,
* application using a sequence of key/value pairs. Like all strings in Libav,
* metadata must be stored as UTF-8 encoded Unicode. Note that metadata
* metadata must be stored as UTF-8 encoded Unicode. Note that metadata
* exported by demuxers isn't checked to be valid UTF-8 in most cases.
* exported by demuxers isn't checked to be valid UTF-8 in most cases.
* Important concepts to keep in mind:
* Important concepts to keep in mind:
*
1.
Keys are unique; there can never be 2 tags with the same key. This is
*
-
Keys are unique; there can never be 2 tags with the same key. This is
* also meant semantically, i.e., a demuxer should not knowingly produce
* also meant semantically, i.e., a demuxer should not knowingly produce
* several keys that are literally different but semantically identical.
* several keys that are literally different but semantically identical.
* E.g., key=Author5, key=Author6. In this example, all authors must be
* E.g., key=Author5, key=Author6. In this example, all authors must be
* placed in the same tag.
* placed in the same tag.
*
2.
Metadata is flat, not hierarchical; there are no subtags. If you
*
-
Metadata is flat, not hierarchical; there are no subtags. If you
* want to store, e.g., the email address of the child of producer Alice
* want to store, e.g., the email address of the child of producer Alice
* and actor Bob, that could have key=alice_and_bobs_childs_email_address.
* and actor Bob, that could have key=alice_and_bobs_childs_email_address.
*
3.
Several modifiers can be applied to the tag name. This is done by
*
-
Several modifiers can be applied to the tag name. This is done by
* appending a dash character ('-') and the modifier name in the order
* appending a dash character ('-') and the modifier name in the order
* they appear in the list below -- e.g. foo-eng-sort, not foo-sort-eng.
* they appear in the list below -- e.g. foo-eng-sort, not foo-sort-eng.
*
a)
language -- a tag whose value is localized for a particular language
*
-
language -- a tag whose value is localized for a particular language
* is appended with the ISO 639-2/B 3-letter language code.
* is appended with the ISO 639-2/B 3-letter language code.
* For example: Author-ger=Michael, Author-eng=Mike
* For example: Author-ger=Michael, Author-eng=Mike
* The original/default language is in the unqualified "Author" tag.
* The original/default language is in the unqualified "Author" tag.
* A demuxer should set a default if it sets any translated tag.
* A demuxer should set a default if it sets any translated tag.
*
b)
sorting -- a modified version of a tag that should be used for
*
-
sorting -- a modified version of a tag that should be used for
* sorting will have '-sort' appended. E.g. artist="The Beatles",
* sorting will have '-sort' appended. E.g. artist="The Beatles",
* artist-sort="Beatles, The".
* artist-sort="Beatles, The".
*
*
*
4.
Demuxers attempt to export metadata in a generic format, however tags
*
-
Demuxers attempt to export metadata in a generic format, however tags
* with no generic equivalents are left as they are stored in the container.
* with no generic equivalents are left as they are stored in the container.
* Follows a list of generic tag names:
* Follows a list of generic tag names:
*
*
* album -- name of the set this work belongs to
@verbatim
* album_artist -- main creator of the set/album, if different from artist.
album -- name of the set this work belongs to
* e.g. "Various Artists" for compilation albums.
album_artist -- main creator of the set/album, if different from artist.
* artist -- main creator of the work
e.g. "Various Artists" for compilation albums.
* comment -- any additional description of the file.
artist -- main creator of the work
* composer -- who composed the work, if different from artist.
comment -- any additional description of the file.
* copyright -- name of copyright holder.
composer -- who composed the work, if different from artist.
* creation_time-- date when the file was created, preferably in ISO 8601.
copyright -- name of copyright holder.
* date -- date when the work was created, preferably in ISO 8601.
creation_time-- date when the file was created, preferably in ISO 8601.
* disc -- number of a subset, e.g. disc in a multi-disc collection.
date -- date when the work was created, preferably in ISO 8601.
* encoder -- name/settings of the software/hardware that produced the file.
disc -- number of a subset, e.g. disc in a multi-disc collection.
* encoded_by -- person/group who created the file.
encoder -- name/settings of the software/hardware that produced the file.
* filename -- original name of the file.
encoded_by -- person/group who created the file.
* genre -- <self-evident>.
filename -- original name of the file.
* language -- main language in which the work is performed, preferably
genre -- <self-evident>.
* in ISO 639-2 format. Multiple languages can be specified by
language -- main language in which the work is performed, preferably
* separating them with commas.
in ISO 639-2 format. Multiple languages can be specified by
* performer -- artist who performed the work, if different from artist.
separating them with commas.
* E.g for "Also sprach Zarathustra", artist would be "Richard
performer -- artist who performed the work, if different from artist.
* Strauss" and performer "London Philharmonic Orchestra".
E.g for "Also sprach Zarathustra", artist would be "Richard
* publisher -- name of the label/publisher.
Strauss" and performer "London Philharmonic Orchestra".
* service_name -- name of the service in broadcasting (channel name).
publisher -- name of the label/publisher.
* service_provider -- name of the service provider in broadcasting.
service_name -- name of the service in broadcasting (channel name).
* title -- name of the work.
service_provider -- name of the service provider in broadcasting.
* track -- number of this work in the set, can be in form current/total.
title -- name of the work.
* variant_bitrate -- the total bitrate of the bitrate variant that the current stream is part of
track -- number of this work in the set, can be in form current/total.
variant_bitrate -- the total bitrate of the bitrate variant that the current stream is part of
@endverbatim
*
* @}
*/
*/
#if FF_API_OLD_METADATA2
#if FF_API_OLD_METADATA2
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment