head	1.4;
access;
symbols
	rpm-4_2_1-release:1.3
	rpm-4_1_1-release:1.3
	rpm-4_2-release:1.3
	rpm-4_2:1.3.0.4
	rpm-4_1:1.3.0.2
	postmerge-file-3_39:1.1.1.2
	premerge-file-3_39:1.1.1.2
	file-3_39:1.1.1.2
	pre-file-3_39:1.1.1.2
	postmerge-file-3_38:1.1.1.2
	premerge-file-3_38:1.1.1.2
	file-3_38:1.1.1.2
	pre-file-3_38:1.1.1.1
	file-3_37-release:1.1.1.1
	file-vendor:1.1.1;
locks; strict;
comment	@# @;


1.4
date	2003.04.15.16.58.35;	author jbj;	state dead;
branches;
next	1.3;

1.3
date	2003.02.14.20.20.21;	author jbj;	state Exp;
branches
	1.3.4.1;
next	1.2;

1.2
date	2003.01.05.19.30.56;	author jbj;	state Exp;
branches;
next	1.1;

1.1
date	2002.09.30.21.45.34;	author jbj;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2002.09.30.21.45.34;	author jbj;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2002.09.30.21.46.14;	author jbj;	state Exp;
branches;
next	;

1.3.4.1
date	2003.12.01.21.20.02;	author jbj;	state dead;
branches;
next	;


desc
@@


1.4
log
@Move magic creation to sub-directory.
@
text
@
#------------------------------------------------------------------------------
# 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.
>>>>>>44	lelong		!-1000
>>>>>>>44	lelong		x		>%lu
>>>>>48		lelong		!-1
>>>>>>48	lelong		x		~%lu
>>>>>52		lelong		!-1
>>>>>>52	lelong		!-1000
>>>>>>>52	lelong		x		<%lu
>>>>>48		string		<\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff	kbps
# -- 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)
# The string has not changed from beta1 to 2 - they are indistinguishable.
# Then come the comments, again length-counted (and number-counted).
# Some looping constructs and registers would allow reading them but now
# it's impossible.  However we can print the number of comments present
# (skipping by the vendor string length):
##>>>>(109.l.113)	lelong		0		\b, no comments
##>>>>(109.l+113)	lelong		>0		\b, %lu comments
@


1.3
log
@fix: ogg/vorbis file classification problems.
@
text
@@


1.3.4.1
log
@Merge from top-of-stack.
@
text
@@


1.2
log
@- file: avoid ogg/vorbis file classification problems.
@
text
@d29 41
a69 41
## 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.
#>>>>>>44	lelong		!-1000
#>>>>>>>44	lelong		x		>%lu
#>>>>>48		lelong		!-1
#>>>>>>48	lelong		x		~%lu
#>>>>>52		lelong		!-1
#>>>>>>52	lelong		!-1000
#>>>>>>>52	lelong		x		<%lu
#>>>>>48		string		<\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff	kbps
## -- 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)
@


1.1
log
@Initial revision
@
text
@d7 1
d29 41
a69 20
# 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
>>>>>>44	lelong		x		>%lu
>>>>>48		lelong		!-1
>>>>>>48	lelong		x		~%lu
>>>>>52		lelong		!-1
>>>>>>52	lelong		x		<%lu
>>>>>48		string		<\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff	kbps
# -- Second vorbis header packet - the comments
>>>102		string		\x03vorbis
# 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).
##>>>>113		string/c	Xiphophorus\ libVorbis\ I	\b, created by: Xiphophorus libVorbis I
##>>>>>137	string		>00000000	%.8s
# Map to beta version numbers:
##>>>>>>137	string		<20000508	(<beta1 - prepublic)
a70 11
##>>>>>>137	string		20000508	(beta1/2)
##>>>>>>137	string		>20000508
##>>>>>>>137	string		<20001031	(beta2-3)
##>>>>>>137	string		20001031	(beta3)
##>>>>>>137	string		>20001031
##>>>>>>>137	string		<20010225	(beta3-4)
##>>>>>>137	string		20010225	(beta4)
##>>>>>>137	string		>20010225
##>>>>>>>137	string		<20010615	(beta4-RC1)
##>>>>>>137	string		20010615	(RC1)
##>>>>>>137	string		>20010615	(>RC1)
@


1.1.1.1
log
@track: auto import
@
text
@@


1.1.1.2
log
@track: auto import
@
text
@a6 1
# Further extended by Greg Wooledge <greg@@wooledge.org>
d32 1
a32 4
# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
# instead of -1.
>>>>>>44	lelong		!-1000
>>>>>>>44	lelong		x		>%lu
d36 1
a36 2
>>>>>>52	lelong		!-1000
>>>>>>>52	lelong		x		<%lu
d39 1
d44 2
a45 5
# 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
d47 1
a47 16
>>>>>>(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)
d49 11
@

