| |
| Canonical caps/structure strings (those created by gst_caps_to_string() |
| and gst_structure_to_string()) do not have AUTO_VALUE. |
| |
| Goals: |
| - UTF-8 clean |
| - SIMPLE_STRINGs should cover most simple cases that don't interfere |
| with other parts of the gst_caps or gst_parse grammar |
| - forward-parsed grammar |
| - quoted strings handle backslash escaping as well as XML-style (&ack;) |
| escaping |
| |
| CAPS = STRUCTURE [ ';' STRUCTURE ]* |
| |
| STRUCTURE = STRUCTURE_NAME [ ',' FIELD ]* |
| |
| STRUCTURE_NAME = STRING |
| |
| FIELD = FIELD_NAME '=' TYPED_VALUE |
| |
| FIELD_NAME = SIMPLE_STRING |
| |
| TYPED_VALUE = CANONICAL_VALUE | AUTO_VALUE |
| |
| CANONICAL_VALUE = '{' TYPED_VALUE [ ',' TYPED_VALUE ]* '}' |
| | '[' TYPED_VALUE ',' TYPED_VALUE ']' |
| | '(' TYPE ')' VALUE |
| |
| AUTO_VALUE = [-+]?[0-9][0-9]* |
| | [-+]?[0-9][0-9]*[.][0-9]*[eE][-+][0-9]* |
| | STRING |
| |
| VALUE = STRING |
| |
| STRING = ["][^"]["] |
| | ['][^']['] |
| | SIMPLE_STRING |
| |
| SIMPLE_STRING = [A-Za-z0-9_+-:./]+ |
| |
| TYPE = "int" | "i" | "float" | "f" | "double" | "d" | "fourcc" | "4" |
| | "boolean" | "bool" | "b" |
| | GTYPE |
| |
| |
| Canonical Examples: |
| |
| "audio/raw" |
| "audio/raw", rate=(int)44100 |
| "audio/raw", rate=(int)44100, signed=(boolean)true |
| "audio/raw", rate={ (int)44100, (int)48000 } |
| "audio/raw", rate=[ (int)8000, (int)48000 ] |
| |
| |