From a420a9a9208db5bffb08012e25250ed2ae8a8947 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Sun, 5 Jan 2003 13:11:53 +0000 Subject: fixing a copyright, bringing back the old READMEs to the xine-lib tarball, improve makefiles so hopefully documentation is installed in the right place, add text version of the faq CVS patchset: 3783 CVS date: 2003/01/05 13:11:53 --- doc/README.mrl | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 doc/README.mrl (limited to 'doc/README.mrl') diff --git a/doc/README.mrl b/doc/README.mrl new file mode 100644 index 000000000..f2d343e28 --- /dev/null +++ b/doc/README.mrl @@ -0,0 +1,76 @@ +proposition of generic syntax of MRLs +===================================== + +This document defines a draft for a syntactic specification of MRLs as +used by xine-lib. The language of MRLs is designed to be a true subset +of the language of URIs as given in RFC2396. A type 2 grammar for the +language of MRLs is given in EBNF below. + +Semantically, MRLs consist of two distinct parts that are evaluated by +different components of the xine architecture. The first part, +derivable from the symbol in the given grammar, is +completely handed to the input plugins, with input plugins signaling +if they can handle the MRL. +The second part, derivable from and delimited from the +first by a crosshatch ('#') contains parameters that modify the +initialization and playback behaviour of the stream to which the MRL +is passed. The possible parameters are mentioned in the manpage to +xine-ui. + +The following definition should be regarded as a guideline only. +Of course any given input plugin only understands a subset of all +possible MRLs. On the other hand, invalid MRLs according to this +definition might be understood for convenience reasons. +Some user awareness is required at this point. + +EBNF grammar for MRLs: + + ::= [#] + ::= (|) + ::= :(|)[?] + ::= (|) + ::= //[] + ::= / + ::= [] + ::= {} + ::= (||;|@|&|=|+|$|,) + ::= {(||+|-|.)} + ::= (|) + ::= [[@][:]] + ::= {(||;|:|&|=|+|$|,)} + ::= (|) + ::= {.}[.] + ::= (|{(|-)}) + ::= (|{(|-)}) + ::= {}.{}.{}.{} + ::= {} + ::= {} + ::= (||;|:|@|&|=|+|$|,) + ::= {/} + ::= {}{;} + ::= {} + ::= (||:|@|&|=|+|$|,) + ::= {} + ::= ;{} + ::= (||novideo|noaudio|nospu) + ::= : + ::= {} + ::= {} + ::= {}:{} + ::= (||:|@|&|=|+|$|,) + ::= (||) + ::= (;|/|?|:|@|&|=|+|$|,) + ::= (|) + ::= (-|_|.|!|~|*|'|(|)) + ::= % + ::= (|A|B|C|D|E|F|a|b|c|d|e|f) + ::= (|) + ::= (|) + ::= (a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z) + ::= (A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z) + ::= (0|1|2|3|4|5|6|7|8|9) + + +--- +version of this file: + $Id: README.mrl,v 1.1 2003/01/05 13:11:53 guenter Exp $ -- cgit v1.2.3