docs/random/mimetypes: Update docs to point to correct elements for various mimetypes, and some more errors pointed o...

Original commit message from CVS:
2004-01-29  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* docs/random/mimetypes:
Update docs to point to correct elements for various mimetypes, and
some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
<stephane.loeuillet@tiscali.fr>.
This commit is contained in:
Ronald S. Bultje 2004-01-29 09:28:58 +00:00
parent 7a5223b57a
commit 520d5c37f5
2 changed files with 43 additions and 109 deletions

View file

@ -1,3 +1,10 @@
2004-01-29 Ronald Bultje <rbultje@ronald.bitfreak.net>
* docs/random/mimetypes:
Update docs to point to correct elements for various mimetypes, and
some more errors pointed out by Stéphane LOEUILLET (aka LeRoutier)
<stephane.loeuillet@tiscali.fr>.
2004-01-28 David Schleef <ds@schleef.org> 2004-01-28 David Schleef <ds@schleef.org>
* docs/pwg/intro-basics.xml: rewrite bufferpool stuff. * docs/pwg/intro-basics.xml: rewrite bufferpool stuff.

View file

@ -22,20 +22,14 @@ key/value pairs).
An example of a MIME type is 'video/mpeg'. A corresponding GstCaps could be An example of a MIME type is 'video/mpeg'. A corresponding GstCaps could be
created using code: created using code:
GstCaps *caps = gst_caps_new("video_mpeg_type", GstCaps *caps = gst_caps_new_simple ("video/mpeg",
"video/mpeg", "width", G_TYPE_INT, 384,
gst_props_new("width", GST_PROPS_INT(384), "height", G_TYPE_INT, 288,
"height", GST_PROPS_INT(288), NULL);
NULL));
or by using a macro:
GstCaps *caps = GST_CAPS_NEW("video_mpeg_type", MIME types and their corresponding properties are of major importance in
"video/mpeg", GStreamer for uniquely identifying media streams. Therefore, we define them
"width", GST_PROPS_INT(384), per media type. All GStreamer plugins should keep to this definition.
"height", GST_PROPS_INT(288));
Obviously, MIME types and their corresponding properties are of major importance
in GStreamer for uniquely identifying media streams.
Official MIME media types are assigned by the IANA. Current assignments are at Official MIME media types are assigned by the IANA. Current assignments are at
http://www.iana.org/assignments/media-types/. http://www.iana.org/assignments/media-types/.
@ -100,14 +94,14 @@ Container formats
3 - MPEG (MPEG LA) 3 - MPEG (MPEG LA)
MIME type: video/mpeg MIME type: video/mpeg
Properties: 'systemstream' = TRUE (BOOLEAN) Properties: 'systemstream' = TRUE (BOOLEAN)
Parser: mp1videoparse Parser: mpegdemux
Formatter: Formatter: mplex
4 - ASF (Microsoft) 4 - ASF (Microsoft)
MIME type: video/x-ms-asf MIME type: video/x-ms-asf
Properties: Properties:
Parser: asfdemux Parser: asfdemux
Formatter: Formatter: asfmux
5 - WAV (PCM) 5 - WAV (PCM)
MIME type: audio/x-wav MIME type: audio/x-wav
@ -130,14 +124,14 @@ Container formats
8 - Ogg (Xiph) 8 - Ogg (Xiph)
MIME type: application/ogg MIME type: application/ogg
Properties: Properties:
Parser: vorbisfile Parser: oggdemux
Formatter: vorbisenc Formatter:
9 - Matroska 9 - Matroska
MIME type: video/x-mkv MIME type: video/x-mkv
Properties: Properties:
Parser: Parser: matroskademux
Formatter: Formatter: matroskamux
10 - Shockwave (Macromedia) 10 - Shockwave (Macromedia)
MIME type: application/x-shockwave-flash MIME type: application/x-shockwave-flash
@ -183,7 +177,8 @@ Container formats
Please note that we try to keep these MIME types as similar as possible to the Please note that we try to keep these MIME types as similar as possible to the
MIME types used as standards in Gnome (Gnome-VFS/Nautilus) and KDE MIME types used as standards in Gnome (Gnome-VFS/Nautilus) and KDE
(Konqueror). (Konqueror). Both will (in future) stick to a shared-mime-info database that
is hosted on freedesktop.org, and bases itself on IANA.
Also, there is a very thin line between audio codecs and audio containers Also, there is a very thin line between audio codecs and audio containers
(take mp3 vs. sid, etc.). This is just a per-case thing right now and needs to (take mp3 vs. sid, etc.). This is just a per-case thing right now and needs to
@ -216,8 +211,8 @@ framerate = 0 - MAXFLOAT (FLOAT)
Properties: Properties:
Optional properties: divxversion = 3/4/5 (INT) Optional properties: divxversion = 3/4/5 (INT)
Known fourccs: DIV3, DIV4, DIV5, DIVX, DX50, DIVX, divx Known fourccs: DIV3, DIV4, DIV5, DIVX, DX50, DIVX, divx
Encoder: Encoder: divxenc
Decoder: dvdreadsrc, dvdnavsrc Decoder: divxdec, ffdec_mpeg4
3 - Microsoft MPEG 4.1, 4.2 and 4.3 3 - Microsoft MPEG 4.1, 4.2 and 4.3
MIME type: video/x-msmpeg MIME type: video/x-msmpeg
@ -231,14 +226,14 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-jpeg MIME type: video/x-jpeg
Properties: Properties:
Known fourccs: MJPG (YUY2 MJPEG), JPEG (any), PIXL (Pinnacle/Miro), VIXL Known fourccs: MJPG (YUY2 MJPEG), JPEG (any), PIXL (Pinnacle/Miro), VIXL
Encoder: Encoder: jpegenc
Decoder: Decoder: jpegdec, ffdec_mjpeg
5 - Sorensen (Quicktime - SVQ1/SVQ3) 5 - Sorensen (Quicktime - SVQ1/SVQ3)
MIME types: video/x-svq MIME types: video/x-svq
Properties: svqversion = 1/3 (INT) Properties: svqversion = 1/3 (INT)
Encoder: Encoder:
Decoder: Decoder: ffdec_svq1, ffdec_svq3
6 - H263 and related codecs 6 - H263 and related codecs
MIME type: video/x-h263 MIME type: video/x-h263
@ -252,7 +247,7 @@ framerate = 0 - MAXFLOAT (FLOAT)
Properties: systemstream = FALSE (BOOLEAN) Properties: systemstream = FALSE (BOOLEAN)
Known fourccs: RV10, RV20, RV30 Known fourccs: RV10, RV20, RV30
Encoder: Encoder:
Decoder: rmdemux Decoder:
8 - Digital Video (DV) 8 - Digital Video (DV)
MIME type: video/x-dv MIME type: video/x-dv
@ -265,14 +260,14 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-wmv MIME type: video/x-wmv
Properties: wmvversion = 1/2 (INT) Properties: wmvversion = 1/2 (INT)
Encoder: Encoder:
Decoder: Decoder: ffdec_wmv1, ffdec_wmv2
10 - XviD (xvid.org) 10 - XviD (xvid.org)
MIME type: video/x-xvid MIME type: video/x-xvid
Properties: Properties:
Known fourccs: xvid, XVID Known fourccs: xvid, XVID
Encoder: Encoder: xvidenc
Decoder: Decoder: xviddec, ffdec_mpeg4
11 - 3IVX (3ixv.org) 11 - 3IVX (3ixv.org)
MIME type: video/x-3ivx MIME type: video/x-3ivx
@ -291,26 +286,26 @@ framerate = 0 - MAXFLOAT (FLOAT)
MIME type: video/x-vp3 MIME type: video/x-vp3
Properties: Properties:
Encoder: Encoder:
Decoder: Decoder: ffdec_vp3
14 - Ogg/Theora (Xiph, VP3-like) 14 - Ogg/Theora (Xiph, VP3-like)
MIME type: video/x-theora MIME type: video/x-theora
Properties: Properties:
Encoder: Encoder:
Decoder: Decoder: ffdec_vp3
15 - Huffyuv 15 - Huffyuv
MIME type: video/x-huffyuv MIME type: video/x-huffyuv
Properties: Properties:
Known fourccs: HFYU Known fourccs: HFYU
Encoder: Encoder:
Decoder: Decoder: ffdec_hfyu
16 - FF Video 1 (FFMPEG) 16 - FF Video 1 (FFMPEG)
MIME type: video/x-ffv MIME type: video/x-ffv
Properties: ffvversion = 1 (INT) Properties: ffvversion = 1 (INT)
Encoder: Encoder:
Decoder: Decoder: ffdec_ffv1
17 - H264 17 - H264
MIME type: video/x-h264 MIME type: video/x-h264
@ -341,76 +336,6 @@ TODO: divx4/divx5/xvid/3ivx/mpeg-4 - how to make them overlap? (all
3c) Audio Codecs 3c) Audio Codecs
---------------- ----------------
for convenience, the two-byte hexcodes (as are being used for identification
in AVI files) are also given
Preface - (optional) properties for all audio formats:
'rate' = X (int) <- sampling rate
'channels' = X (int) <- number of audio channels
1 - Raw Audio (integer format)
mimetype: audio/x-raw-int
properties: 'width' = X (INT) <- memory bits per sample
'depth' = X (INT) <- used bits per sample
'signed' = X (BOOLEAN)
'endianness' = 1234/4321 (INT)
2 - Raw Audio (floating point format)
mimetype: audio/x-raw-float
properties: 'width' = X (INT) <- 32=float, 64=double
'endianness' = 1234/4321 (INT) <- use G_BIG/LITTLE_ENDIAN!
'buffer-frames' = (INT)
number of samples per buffer, 0 means undefined
With regards to the signal: 0.0 represents no signal, +/- 1.0 is 0 dB.
3 - Alaw Raw Audio
mimetype: audio/x-alaw
4 - Mulaw Raw Audio
mimetype: audio/x-mulaw
5 - MPEG-1 layer 1/2/3 audio
mimetype: audio/mpeg
properties: 'mpegversion' = 1 (INT)
'layer' = 1/2/3 (INT)
6 - Ogg/Vorbis
mimetype: audio/x-vorbis
7 - Windows Media Audio 1 and 2 (WMA)
mimetype: audio/x-wma
properties: 'wmaversion' = 1/2 (INT)
8 - AC3
mimetype: audio/x-ac3
9 - FLAC (Free Lossless Audio Codec)
mimetype: audio/x-flac
10 - MACE 3/6 (Quicktime audio)
mimetype: audio/x-mace
properties: 'maceversion' = 3/6 (INT)
11 - MPEG-4 AAC
mimetype: audio/mpeg
properties: 'mpegversion' = 4 (INT)
12 - (IMA) ADPCM (Quicktime/WAV/Microsoft/4XM)
mimetype: audio/x-adpcm
properties: 'layout' = "quicktime"/"wav"/"microsoft"/"4xm" (STRING)
Note: the difference between each of these is the number of
samples packaed together per channel. For WAV, for
example, each sample is 4 bit, and 8 samples are packed
together per channel in the bytestream. For the others,
refer to technical documentation.
We probably want to distinguish these differently, but
I don't know how, yet.
13 - RealAudio (Real)
mimetype: audio/x-pn-realaudio
properties: 'bitrate' = 14400/28800 (INT)
For convenience, the two-byte hexcodes (as used for identification in AVI files) For convenience, the two-byte hexcodes (as used for identification in AVI files)
are also given. are also given.
@ -447,13 +372,13 @@ channels = 1 - MAXINT (INT, number of audio channels)
MIME type: audio/x-wma MIME type: audio/x-wma
Properties: wmaversion = 1/2 (INT) Properties: wmaversion = 1/2 (INT)
Encoder: Encoder:
Decoder: Decoder: ffdec_wmav1, ffdec_wmav2
6 - AC3 6 - AC3
MIME type: audio/x-ac3 MIME type: audio/x-ac3
Properties: Properties:
Encoder: Encoder: ffenc_ac3
Decoder: Decoder: a52dec
7 - FLAC (Free Lossless Audio Codec) 7 - FLAC (Free Lossless Audio Codec)
MIME type: audio/x-flac MIME type: audio/x-flac
@ -470,8 +395,8 @@ channels = 1 - MAXINT (INT, number of audio channels)
9 - MPEG-4 AAC 9 - MPEG-4 AAC
MIME type: audio/mpeg MIME type: audio/mpeg
Properties: mpegversion = 4 (INT) Properties: mpegversion = 4 (INT)
Encoder: Encoder: faac
Decoder: Decoder: faad
10 - (IMA) ADPCM (Quicktime/WAV/Microsoft/4XM) 10 - (IMA) ADPCM (Quicktime/WAV/Microsoft/4XM)
MIME type: audio/x-adpcm MIME type: audio/x-adpcm
@ -619,6 +544,8 @@ endianness = 1234/4321 (INT) <- use G_BIG/LITTLE_ENDIAN
4 - Raw audio (floating point format) 4 - Raw audio (floating point format)
MIME type: audio/x-raw-float MIME type: audio/x-raw-float
Properties: width = 32/64 (INT) Properties: width = 32/64 (INT)
endianness: 1234/4321 (INT)
buffer-frames: number of audio frames per buffer, 0=undefined
Plugin Guidelines Plugin Guidelines
================= =================