summaryrefslogtreecommitdiff
path: root/usr.bin/file
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2004-06-03 03:15:25 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2004-06-03 03:15:25 +0000
commite2bd0e638eb2b136083cf19c814f604269fcc394 (patch)
treebde69844e1565eaca7a84a6888a48c1fd5124683 /usr.bin/file
parent6ae9a9c3ff9f316b2f59d8aec767217158f3d5cd (diff)
ogg vorbis magic i found on a redhat box
Diffstat (limited to 'usr.bin/file')
-rw-r--r--usr.bin/file/magdir/vorbis80
1 files changed, 80 insertions, 0 deletions
diff --git a/usr.bin/file/magdir/vorbis b/usr.bin/file/magdir/vorbis
new file mode 100644
index 00000000000..ef795fc658f
--- /dev/null
+++ b/usr.bin/file/magdir/vorbis
@@ -0,0 +1,80 @@
+# $OpenBSD: vorbis,v 1.1 2004/06/03 03:15:24 tedu Exp $
+
+#------------------------------------------------------------------------------
+# vorbis: file(1) magic for Ogg/Vorbis files
+#
+# From Felix von Leitner <leitner@fefe.de>
+# Extended by Beni Cherniavsky <cben@crosswinds.net>
+# Further extended by Greg Wooledge <greg@wooledge.org>
+#
+# Most (everything but the number of channels and bitrate) is commented
+# out with `##' as it's not interesting to the average user. The most
+# probable things advanced users would want to uncomment are probably
+# the number of comments and the encoder version.
+#
+# --- Ogg Framing ---
+0 string OggS Ogg data
+>4 byte !0 UNKNOWN REVISION %u
+##>4 byte 0 revision 0
+>4 byte 0
+##>>14 lelong x (Serial %lX)
+# --- First vorbis packet - general header ---
+>>28 string \x01vorbis \b, Vorbis audio,
+>>>35 lelong !0 UNKNOWN VERSION %lu,
+##>>>35 lelong 0 version 0,
+>>>35 lelong 0
+>>>>39 ubyte 1 mono,
+>>>>39 ubyte 2 stereo,
+>>>>39 ubyte >2 %u channels,
+>>>>40 lelong x %lu Hz
+# Minimal, nominal and maximal bitrates specified when encoding
+>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff \b,
+# The above tests if at least one of these is specified:
+>>>>>44 lelong !-1
+# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
+# instead of -1.
+# Vorbis 1.0 uses 0 instead of -1.
+>>>>>>44 lelong !-1000
+>>>>>>>44 lelong !0
+>>>>>>>>44 lelong x >%lu
+>>>>>48 lelong !-1
+>>>>>>48 lelong x ~%lu
+>>>>>52 lelong !-1
+>>>>>>52 lelong !0
+>>>>>>>52 lelong !-1000
+>>>>>>>>52 lelong x <%lu
+>>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps
+# -- Second vorbis header packet - the comments
+# A kludge to read the vendor string. It's a counted string, not a
+# zero-terminated one, so file(1) can't read it in a generic way.
+# libVorbis is the only one existing currently, so I detect specifically
+# it. The interesting value is the cvs date (8 digits decimal).
+# Post-RC1 Ogg files have the second header packet (and thus the version)
+# in a different place, so we must use an indirect offset.
+#>>>(84.b+85) string \x03vorbis
+#>>>>(84.b+96) string/c Xiphophorus\ libVorbis\ I \b, created by: Xiphophorus libVorbis I
+#>>>>>(84.b+120) string >00000000 %.8s
+# Map to beta version numbers:
+#>>>>>>(84.b+120) string <20000508 (<beta1 - prepublic)
+#>>>>>>(84.b+120) string 20000508 (beta1/2)
+#>>>>>>(84.b+120) string >20000508
+#>>>>>>>(84.b+120) string <20001031 (beta2-3)
+#>>>>>>(84.b+120) string 20001031 (beta3)
+#>>>>>>(84.b+120) string >20001031
+#>>>>>>>(84.b+120) string <20010225 (beta3-4)
+#>>>>>>(84.b+120) string 20010225 (beta4)
+#>>>>>>(84.b+120) string >20010225
+#>>>>>>>(84.b+120) string <20010615 (beta4-RC1)
+#>>>>>>(84.b+120) string 20010615 (RC1)
+#>>>>>>(84.b+120) string 20010813 (RC2)
+#>>>>>>(84.b+120) string 20010816 (RC2 - Garf tuned v1)
+#>>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2)
+#>>>>>>(84.b+120) string 20011217 (pre-RC3 CVS)
+#>>>>>>(84.b+120) string 20011231 (RC3)
+# Some pre-1.0 CVS snapshots still had "Xiphphorus"...
+#>>>>>>(84.b+120) string >20011231 (pre-1.0 CVS)
+# For the 1.0 release, Xiphophorus is replaced by Xiph.Org
+#>>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I
+#>>>>>(84.b+117) string >00000000 %.8s
+#>>>>>>(84.b+117) string <20020717 (pre-1.0 CVS)
+#>>>>>>(84.b+117) string 20020717 (1.0)