From b96dde3be0d4cc0149eb302bc748f9eb1b393a38 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Thu, 26 Feb 2004 14:19:01 +0000 Subject: [PATCH] update translations update release doc change ERROR to WARNING for GStreamer errors being signaled Original commit message from CVS: update translations update release doc change ERROR to WARNING for GStreamer errors being signaled --- ChangeLog | 26 ++- common | 2 +- docs/manual/advanced-clocks.xml | 5 + docs/manual/basics-bins.xml | 49 +++++ docs/manual/basics-plugins.xml | 31 +++ docs/manual/highlevel-components.xml | 37 ++++ docs/manual/highlevel-xml.xml | 283 +++++++++++++++++++++++++++ docs/manual/intro-preface.xml | 59 ++++++ docs/random/release | 1 + gst/gstelement.h | 2 +- po/fr.po | 210 ++++++++++++-------- po/nl.po | 203 +++++++++++-------- 12 files changed, 732 insertions(+), 176 deletions(-) create mode 100644 docs/manual/advanced-clocks.xml create mode 100644 docs/manual/basics-bins.xml create mode 100644 docs/manual/basics-plugins.xml create mode 100644 docs/manual/highlevel-components.xml create mode 100644 docs/manual/highlevel-xml.xml create mode 100644 docs/manual/intro-preface.xml diff --git a/ChangeLog b/ChangeLog index 11e720b91a..726b3a2fd9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2004-02-26 Thomas Vander Stichele + + * docs/random/release: + update release strategy + * gst/gstelement.h: + log errors as WARNING since they're recoverable + * po/fr.po: + auto-update po file + * po/nl.po: + update dutch translation + 2004-02-25 Thomas Vander Stichele * docs/manual/debugging.xml: @@ -14,7 +25,7 @@ * gst/gstelement.c (gst_element_dispose): Protect against multiple invocations. - * gst/schedulers/gstoptimalscheduler.c + * gst/schedulers/gstoptimalscheduler.c: I added a mess of prototypes at the top of the file by way of documentation. Some of the operations on chains and groups were re-organized. @@ -141,6 +152,7 @@ * gst/elements/gstfilesink.c: (gst_filesink_open_file): * gst/elements/gstfilesrc.c: (gst_filesrc_open_file): * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_open_file): + fix errors 2004-02-20 Andy Wingo @@ -296,11 +308,11 @@ * gst/gstbin.c: (gst_bin_change_state), (gst_bin_iterate): Fix a big bug that was breaking pipelines like sinesrc ! { queue ! osssink } when an error was thrown by osssink. Basically a state change failure for - an element in a different scheduling group was considered as successfull - , which means that caps nego was going on and weird stuff happened. Like - i wrote in the comment there, if someone want to revert that please - drop me a mail explaining why because i really see no point in keeping - that broken behaviour there. + an element in a different scheduling group was considered as + successful, which means that caps nego was going on and weird stuff + happened. Like I wrote in the comment there, if someone wants to + revert that please drop me a mail explaining why because I really see + no point in keeping that broken behaviour there. * gst/gstqueue.c: (gst_queue_get): Add a safety check as the queue CAN be empty, we then return NULL which will trigger a nice error when pulling from the pad. @@ -593,7 +605,7 @@ 2004-02-09 Julien MOUTTE * gst/gstdata.c: (gst_data_ref): Adding a categorized debug on data_ref - because data_unref has one and i prefer the debug to be symetric. + because data_unref has one and I prefer the debug to be symetric. * gst/gstqueue.c: (gst_queue_locked_flush): Fix a huge memleak. Buffers were refed when added to the queue and unrefed only once when the queue was flushed. Now the flush handler unref the buffers two times : first diff --git a/common b/common index 0945c85c4c..874dab5c34 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 0945c85c4c9139e2e5b8e04d0fc841b8aa1e6e9b +Subproject commit 874dab5c3461ad7487f1ae029256b6da82dddf6d diff --git a/docs/manual/advanced-clocks.xml b/docs/manual/advanced-clocks.xml new file mode 100644 index 0000000000..68b3720203 --- /dev/null +++ b/docs/manual/advanced-clocks.xml @@ -0,0 +1,5 @@ + + Clocks in GStreamer + + + diff --git a/docs/manual/basics-bins.xml b/docs/manual/basics-bins.xml new file mode 100644 index 0000000000..c1d6b3bbd2 --- /dev/null +++ b/docs/manual/basics-bins.xml @@ -0,0 +1,49 @@ + + Bins + + A bin is a container element. You can add elements to a bin. Since a bin is + an element itself, it can also be added to another bin. + + + Bins allow you to combine a group of linked elements into one logical element. You do + not deal with the individual elements anymore but with just one element, the bin. + We will see that this is extremely powerful when you are going to construct + complex pipelines since it allows you to break up the pipeline in smaller chunks. + + + The bin will also manage the elements contained in it. It will figure out how + the data will flow in the bin and generate an optimal plan for that data flow. Plan + generation is one of the most complicated procedures in GStreamer. + + +
+ Visualisation of a bin with some elements in it + + + + + +
+ + + There are two specialized bins available to the GStreamer programmer: + + + + + a pipeline: a generic container that allows scheduling of the + containing elements. The toplevel bin has to be a pipeline. + Every application thus needs at least one of these. + + + + + a thread: a bin that will be run in a separate execution thread. + You will have to use this bin if you have to carefully + synchronize audio and video, or for buffering. You will learn + more about threads in . + + + + +
diff --git a/docs/manual/basics-plugins.xml b/docs/manual/basics-plugins.xml new file mode 100644 index 0000000000..3189384766 --- /dev/null +++ b/docs/manual/basics-plugins.xml @@ -0,0 +1,31 @@ + + Plugins + + + A plugin is a shared library that contains at least one of the following + items: + + + + + + one or more element factories + + + + + one or more type definitions + + + + + one or more auto-pluggers + + + + + exported symbols for use in other plugins + + + + diff --git a/docs/manual/highlevel-components.xml b/docs/manual/highlevel-components.xml new file mode 100644 index 0000000000..2875d46d75 --- /dev/null +++ b/docs/manual/highlevel-components.xml @@ -0,0 +1,37 @@ + + Components + + + FIXME: This chapter is way out of date. + + + + GStreamer includes components that people can include + in their programs. + + + + GstPlay + + GstPlay is a GtkWidget with a simple API to play, pause and stop a media file. + + + + + + GstMediaPlay + + GstMediaPlay is a complete player widget. + + + + + + GstEditor + + GstEditor is a set of widgets to display a graphical representation of a + pipeline. + + + + diff --git a/docs/manual/highlevel-xml.xml b/docs/manual/highlevel-xml.xml new file mode 100644 index 0000000000..cd0104163f --- /dev/null +++ b/docs/manual/highlevel-xml.xml @@ -0,0 +1,283 @@ + + XML in <application>GStreamer</application> + + GStreamer uses XML to store and load + its pipeline definitions. XML is also used internally to manage the + plugin registry. The plugin registry is a file that contains the definition + of all the plugins GStreamer knows about to have + quick access to the specifics of the plugins. + + + + We will show you how you can save a pipeline to XML and how you can reload that + XML file again for later use. + + + + Turning GstElements into XML + + + We create a simple pipeline and write it to stdout with + gst_xml_write_file (). The following code constructs an MP3 player + pipeline with two threads and then writes out the XML both to stdout + and to a file. Use this program with one argument: the MP3 file on disk. + + + +/* example-begin xml-mp3.c */ +#include <stdlib.h> +#include <gst/gst.h> + +gboolean playing; + +int +main (int argc, char *argv[]) +{ + GstElement *filesrc, *osssink, *queue, *queue2, *decode; + GstElement *bin; + GstElement *thread, *thread2; + + gst_init (&argc,&argv); + + if (argc != 2) { + g_print ("usage: %s <mp3 filename>\n", argv[0]); + exit (-1); + } + + /* create a new thread to hold the elements */ + thread = gst_element_factory_make ("thread", "thread"); + g_assert (thread != NULL); + thread2 = gst_element_factory_make ("thread", "thread2"); + g_assert (thread2 != NULL); + + /* create a new bin to hold the elements */ + bin = gst_bin_new ("bin"); + g_assert (bin != NULL); + + /* create a disk reader */ + filesrc = gst_element_factory_make ("filesrc", "disk_source"); + g_assert (filesrc != NULL); + g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL); + + queue = gst_element_factory_make ("queue", "queue"); + queue2 = gst_element_factory_make ("queue", "queue2"); + + /* and an audio sink */ + osssink = gst_element_factory_make ("osssink", "play_audio"); + g_assert (osssink != NULL); + + decode = gst_element_factory_make ("mad", "decode"); + g_assert (decode != NULL); + + /* add objects to the main bin */ + gst_bin_add_many (GST_BIN (bin), filesrc, queue, NULL); + + gst_bin_add_many (GST_BIN (thread), decode, queue2, NULL); + + gst_bin_add (GST_BIN (thread2), osssink); + + gst_element_link_many (filesrc, queue, decode, queue2, osssink, NULL); + + gst_bin_add_many (GST_BIN (bin), thread, thread2, NULL); + + /* write the bin to stdout */ + gst_xml_write_file (GST_ELEMENT (bin), stdout); + + /* write the bin to a file */ + gst_xml_write_file (GST_ELEMENT (bin), fopen ("xmlTest.gst", "w")); + + exit (0); +} +/* example-end xml-mp3.c */ + + + The most important line is: + + + gst_xml_write_file (GST_ELEMENT (bin), stdout); + + + gst_xml_write_file () will turn the given element into an xmlDocPtr that + is then formatted and saved to a file. To save to disk, pass the result + of a fopen(2) as the second argument. + + + The complete element hierarchy will be saved along with the inter element + pad links and the element parameters. Future GStreamer + versions will also allow you to store the signals in the XML file. + + + + + Loading a GstElement from an XML file + + Before an XML file can be loaded, you must create a GstXML object. + A saved XML file can then be loaded with the + gst_xml_parse_file (xml, filename, rootelement) method. + The root element can optionally left NULL. The following code example loads + the previously created XML file and runs it. + + +#include <stdlib.h> +#include <gst/gst.h> + +int +main(int argc, char *argv[]) +{ + GstXML *xml; + GstElement *bin; + gboolean ret; + + gst_init (&argc, &argv); + + xml = gst_xml_new (); + + ret = gst_xml_parse_file(xml, "xmlTest.gst", NULL); + g_assert (ret == TRUE); + + bin = gst_xml_get_element (xml, "bin"); + g_assert (bin != NULL); + + gst_element_set_state (bin, GST_STATE_PLAYING); + + while (gst_bin_iterate(GST_BIN(bin))); + + gst_element_set_state (bin, GST_STATE_NULL); + + exit (0); +} + + + gst_xml_get_element (xml, "name") can be used to get a specific element + from the XML file. + + + gst_xml_get_topelements (xml) can be used to get a list of all toplevel elements + in the XML file. + + + In addition to loading a file, you can also load a from a xmlDocPtr and + an in memory buffer using gst_xml_parse_doc and gst_xml_parse_memory + respectively. Both of these methods return a gboolean indicating + success or failure of the requested action. + + + + Adding custom XML tags into the core XML data + + + It is possible to add custom XML tags to the core XML created with + gst_xml_write. This feature can be used by an application to add more + information to the save plugins. The editor will for example insert + the position of the elements on the screen using the custom XML tags. + + + It is strongly suggested to save and load the custom XML tags using + a namespace. This will solve the problem of having your XML tags + interfere with the core XML tags. + + + To insert a hook into the element saving procedure you can link + a signal to the GstElement using the following piece of code: + + +xmlNsPtr ns; + + ... + ns = xmlNewNs (NULL, "http://gstreamer.net/gst-test/1.0/", "test"); + ... + thread = gst_element_factory_make ("thread", "thread"); + g_signal_connect (G_OBJECT (thread), "object_saved", + G_CALLBACK (object_saved), g_strdup ("decoder thread")); + ... + + + When the thread is saved, the object_save method will be called. Our example + will insert a comment tag: + + +static void +object_saved (GstObject *object, xmlNodePtr parent, gpointer data) +{ + xmlNodePtr child; + + child = xmlNewChild (parent, ns, "comment", NULL); + xmlNewChild (child, ns, "text", (gchar *)data); +} + + + Adding the custom tag code to the above example you will get an XML file + with the custom tags in it. Here's an excerpt: + + + ... + <gst:element> + <gst:name>thread</gst:name> + <gst:type>thread</gst:type> + <gst:version>0.1.0</gst:version> + ... + </gst:children> + <test:comment> + <test:text>decoder thread</test:text> + </test:comment> + </gst:element> + ... + + + To retrieve the custom XML again, you need to attach a signal to + the GstXML object used to load the XML data. You can then parse your + custom XML from the XML tree whenever an object is loaded. + + + + We can extend our previous example with the following piece of + code. + + + + xml = gst_xml_new (); + + g_signal_connect (G_OBJECT (xml), "object_loaded", + G_CALLBACK (xml_loaded), xml); + + ret = gst_xml_parse_file (xml, "xmlTest.gst", NULL); + g_assert (ret == TRUE); + + + + Whenever a new object has been loaded, the xml_loaded function will + be called. This function looks like: + + +static void +xml_loaded (GstXML *xml, GstObject *object, xmlNodePtr self, gpointer data) +{ + xmlNodePtr children = self->xmlChildrenNode; + + while (children) { + if (!strcmp (children->name, "comment")) { + xmlNodePtr nodes = children->xmlChildrenNode; + + while (nodes) { + if (!strcmp (nodes->name, "text")) { + gchar *name = g_strdup (xmlNodeGetContent (nodes)); + g_print ("object %s loaded with comment '%s'\n", + gst_object_get_name (object), name); + } + nodes = nodes->next; + } + } + children = children->next; + } +} + + + As you can see, you'll get a handle to the GstXML object, the + newly loaded GstObject and the xmlNodePtr that was used to create + this object. In the above example we look for our special tag inside + the XML tree that was used to load the object and we print our + comment to the console. + + + + diff --git a/docs/manual/intro-preface.xml b/docs/manual/intro-preface.xml new file mode 100644 index 0000000000..fd38af17f1 --- /dev/null +++ b/docs/manual/intro-preface.xml @@ -0,0 +1,59 @@ + + Introduction + + This chapter gives you an overview of the technologies described in this + book. + + + + What is GStreamer? + + GStreamer is a framework for creating streaming media applications. + The fundamental design comes from the video pipeline at Oregon Graduate + Institute, as well as some ideas from DirectShow. + + + + GStreamer's development framework makes it possible to write any type of + streaming multimedia application. The GStreamer framework is designed + to make it easy to write applications that handle audio or video or both. + It isn't restricted to audio and video, and can process any kind of + data flow. + The pipeline design is made to have little overhead above what the + applied filters induce. This makes GStreamer a good framework for designing + even high-end audio applications which put high demands on latency. + + + + One of the the most obvious uses of GStreamer is using it to build + a media player. GStreamer already includes components for building a + media player that can support a very wide variety of formats, including + MP3, Ogg Vorbis, MPEG1, MPEG2, AVI, Quicktime, mod, and more. GStreamer, + however, is much more than just another media player. Its main advantages + are that the pluggable components can be mixed and matched into arbitrary + pipelines so that it's possible to write a full-fledged video or audio + editing application. + + + + The framework is based on plugins that will provide the various codec + and other functionality. The plugins can be linked and arranged in + a pipeline. This pipeline defines the flow of the data. Pipelines can + also be edited with a GUI editor and saved as XML so that pipeline + libraries can be made with a minimum of effort. + + + + The GStreamer core function is to provide a framework for plugins, data flow + and media type handling/negotiation. + It also provides an API to write applications using the various plugins. + + + + This book is about GStreamer from a developer's point of view; it describes + how to write a GStreamer application using the GStreamer libraries and tools. + For an explanation about writing plugins, we suggest the Plugin Writers Guide. + + + + diff --git a/docs/random/release b/docs/random/release index e45ecff948..9cfccf865b 100644 --- a/docs/random/release +++ b/docs/random/release @@ -37,6 +37,7 @@ TODO : - with 0.3.3 as an example, tag is BRANCH-RELEASE-0_3_3 cvs tag BRANCH-RELEASE-0_3_3-ROOT cvs tag -b BRANCH-RELEASE-0_3_3 + - update your local copy to the branch: cvs update -r BRANCH-RELEASE-0_3_3 - Set the nano to 2 (in configure.ac, AS_VERSION) - Do all updates/patches/changes for the release tarball in this branch diff --git a/gst/gstelement.h b/gst/gstelement.h index 1f08184358..49fd493fa1 100644 --- a/gst/gstelement.h +++ b/gst/gstelement.h @@ -144,7 +144,7 @@ typedef enum { #define GST_ELEMENT_ERROR(el, domain, code, message, debug) G_STMT_START { \ gchar *__msg = _gst_element_error_printf message; \ gchar *__dbg = _gst_element_error_printf debug; \ - GST_ERROR_OBJECT (el, "%s", __dbg); \ + GST_WARNING_OBJECT (el, "%s", __dbg); \ gst_element_error_full (GST_ELEMENT(el), \ GST_ ## domain ## _ERROR, GST_ ## domain ## _ERROR_ ## code, \ __msg, __dbg, __FILE__, GST_FUNCTION, __LINE__); \ diff --git a/po/fr.po b/po/fr.po index 7bddd520fc..b2700ae898 100644 --- a/po/fr.po +++ b/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GStreamer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-02-17 19:22+0100\n" +"POT-Creation-Date: 2004-02-25 19:28+0100\n" "PO-Revision-Date: 2004-01-13 16:52+0100\n" "Last-Translator: Julien Moutte \n" "Language-Team: French \n" @@ -118,14 +118,14 @@ msgstr "Registre a utiliser" msgid "REGISTRY" msgstr "REGISTRE" -#: gst/gstelement.c:241 +#: gst/gstelement.c:242 #, fuzzy, c-format msgid "ERROR: from element %s: %s\n" msgstr "" "ERREUR: impossible d'interpreter l'argument de la ligne de commande numero %" "d: %s.\n" -#: gst/gstelement.c:243 +#: gst/gstelement.c:244 #, c-format msgid "" "Additional debug info:\n" @@ -298,249 +298,289 @@ msgstr "" msgid "No standard error message for domain %s and code %d." msgstr "" -#: gst/gsttag.c:62 +#: gst/gsttag.c:81 msgid "title" msgstr "titre" -#: gst/gsttag.c:63 +#: gst/gsttag.c:82 msgid "commonly used title" msgstr "titre utilisé habituellement" -#: gst/gsttag.c:67 +#: gst/gsttag.c:86 msgid "artist" msgstr "artiste" -#: gst/gsttag.c:68 +#: gst/gsttag.c:87 msgid "person(s) responsible for the recording" msgstr "personne(s) responsable(s) de l'enregistrement" -#: gst/gsttag.c:72 +#: gst/gsttag.c:91 msgid "album" msgstr "album" -#: gst/gsttag.c:73 +#: gst/gsttag.c:92 msgid "album containing this data" msgstr "album contenant cette donnée" -#: gst/gsttag.c:77 +#: gst/gsttag.c:96 msgid "date" msgstr "date" -#: gst/gsttag.c:78 +#: gst/gsttag.c:97 msgid "date the data was created (in Julian calendar days)" msgstr "date a laquelle la donnée fut créée (selon le calendrier Julienne)" -#: gst/gsttag.c:82 +#: gst/gsttag.c:101 msgid "genre" msgstr "genre" -#: gst/gsttag.c:83 +#: gst/gsttag.c:102 msgid "genre this data belongs to" msgstr "genre auquel cette donnée appartient" -#: gst/gsttag.c:87 +#: gst/gsttag.c:106 msgid "comment" msgstr "commentaire" -#: gst/gsttag.c:88 +#: gst/gsttag.c:107 msgid "free text commenting the data" msgstr "texte libre décrivant la donnée" -#: gst/gsttag.c:92 +#: gst/gsttag.c:111 msgid "track number" msgstr "numéro de piste" -#: gst/gsttag.c:93 +#: gst/gsttag.c:112 msgid "track number inside a collection" msgstr "numéro de piste au sein d'une collection" -#: gst/gsttag.c:97 +#: gst/gsttag.c:116 msgid "track count" msgstr "nombre de pistes" -#: gst/gsttag.c:98 +#: gst/gsttag.c:117 msgid "count of tracks inside collection this track belongs to" msgstr "nombre de pistes dans la collection dont cette donnée fait partie" -#: gst/gsttag.c:102 +#: gst/gsttag.c:121 +#, fuzzy +msgid "disc number" +msgstr "numéro de piste" + +#: gst/gsttag.c:122 +#, fuzzy +msgid "disc number inside a collection" +msgstr "numéro de piste au sein d'une collection" + +#: gst/gsttag.c:126 +#, fuzzy +msgid "disc count" +msgstr "nombre de pistes" + +#: gst/gsttag.c:127 +#, fuzzy +msgid "count of discs inside collection this disc belongs to" +msgstr "nombre de pistes dans la collection dont cette donnée fait partie" + +#: gst/gsttag.c:131 msgid "location" msgstr "emplacement" -#: gst/gsttag.c:103 +#: gst/gsttag.c:132 msgid "original location of file as a URI" msgstr "emplacement original du fichier en tant qu'un URI" -#: gst/gsttag.c:107 +#: gst/gsttag.c:136 msgid "description" msgstr "description" -#: gst/gsttag.c:108 +#: gst/gsttag.c:137 msgid "short text describing the content of the data" msgstr "texte court décrivant le contenu de la donnée" -#: gst/gsttag.c:112 +#: gst/gsttag.c:141 msgid "version" msgstr "version" -#: gst/gsttag.c:113 +#: gst/gsttag.c:142 msgid "version of this data" msgstr "version de cette donnée" -#: gst/gsttag.c:117 +#: gst/gsttag.c:146 msgid "ISRC" msgstr "ISRC" -#: gst/gsttag.c:118 +#: gst/gsttag.c:147 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/" msgstr "International Standard Recording Code - voir http://www.ifpi.org/isrc/" -#: gst/gsttag.c:122 gst/gsttag.c:123 +#: gst/gsttag.c:151 gst/gsttag.c:152 msgid "organization" msgstr "organisation" -#: gst/gsttag.c:127 +#: gst/gsttag.c:156 msgid "copyright" msgstr "droit de copie" -#: gst/gsttag.c:128 +#: gst/gsttag.c:157 msgid "copyright notice of the data" msgstr "information sur le droit de copie de la donnée" -#: gst/gsttag.c:132 +#: gst/gsttag.c:161 msgid "contact" msgstr "contact" -#: gst/gsttag.c:133 +#: gst/gsttag.c:162 msgid "contact information" msgstr "information sur le contact" -#: gst/gsttag.c:137 +#: gst/gsttag.c:166 msgid "license" msgstr "license" -#: gst/gsttag.c:138 +#: gst/gsttag.c:167 msgid "license of data" msgstr "license de la donnée" -#: gst/gsttag.c:142 +#: gst/gsttag.c:171 msgid "performer" msgstr "interprète" -#: gst/gsttag.c:143 +#: gst/gsttag.c:172 msgid "person(s) performing" msgstr "personne(s) qui interprète(nt)" -#: gst/gsttag.c:147 +#: gst/gsttag.c:176 msgid "duration" msgstr "durèe" -#: gst/gsttag.c:148 +#: gst/gsttag.c:177 msgid "length in GStreamer time units (nanoseconds)" msgstr "longueur en unité de temps GStreamer (nanosecondes)" -#: gst/gsttag.c:152 +#: gst/gsttag.c:181 msgid "codec" msgstr "codec" -#: gst/gsttag.c:153 +#: gst/gsttag.c:182 msgid "codec the data is stored in" msgstr "codec avec lequel la donnée fut enregistrée" -#: gst/gsttag.c:157 +#: gst/gsttag.c:186 +#, fuzzy +msgid "video-codec" +msgstr "codec" + +#: gst/gsttag.c:187 +#, fuzzy +msgid "codec the video data is stored in" +msgstr "codec avec lequel la donnée fut enregistrée" + +#: gst/gsttag.c:191 +#, fuzzy +msgid "audio-codec" +msgstr "codec" + +#: gst/gsttag.c:192 +#, fuzzy +msgid "codec the audio data is stored in" +msgstr "codec avec lequel la donnée fut enregistrée" + +#: gst/gsttag.c:196 msgid "bitrate" msgstr "bitrate" -#: gst/gsttag.c:158 +#: gst/gsttag.c:197 msgid "exact or average bitrate in bits/s" msgstr "bitrate exact ou moyen en bits par seconde" -#: gst/gsttag.c:162 +#: gst/gsttag.c:201 #, fuzzy msgid "nominal bitrate" msgstr "bitrate minimum" -#: gst/gsttag.c:163 +#: gst/gsttag.c:202 #, fuzzy msgid "nominal bitrate in bits/s" msgstr "bitrate minimum en bits par seconde" -#: gst/gsttag.c:167 +#: gst/gsttag.c:206 msgid "minimum bitrate" msgstr "bitrate minimum" -#: gst/gsttag.c:168 +#: gst/gsttag.c:207 msgid "minimum bitrate in bits/s" msgstr "bitrate minimum en bits par seconde" -#: gst/gsttag.c:172 +#: gst/gsttag.c:211 msgid "maximum bitrate" msgstr "bitrate maximum" -#: gst/gsttag.c:173 +#: gst/gsttag.c:212 msgid "maximum bitrate in bits/s" msgstr "bitrate maximum en bits par seconde" -#: gst/gsttag.c:177 +#: gst/gsttag.c:216 #, fuzzy msgid "encoder" msgstr "codec" -#: gst/gsttag.c:178 +#: gst/gsttag.c:217 #, fuzzy msgid "encoder used to encode this stream" msgstr "Echoué a déterminer le type du flux" -#: gst/gsttag.c:182 +#: gst/gsttag.c:221 #, fuzzy msgid "encoder version" msgstr "version" -#: gst/gsttag.c:183 +#: gst/gsttag.c:222 msgid "version of the encoder used to encode this stream" msgstr "" -#: gst/gsttag.c:187 +#: gst/gsttag.c:226 msgid "serial" msgstr "" -#: gst/gsttag.c:188 +#: gst/gsttag.c:227 msgid "serial number of track" msgstr "" -#: gst/gsttag.c:192 +#: gst/gsttag.c:231 msgid "replaygain track gain" msgstr "" -#: gst/gsttag.c:193 +#: gst/gsttag.c:232 msgid "track gain in db" msgstr "" -#: gst/gsttag.c:197 +#: gst/gsttag.c:236 msgid "replaygain track peak" msgstr "" -#: gst/gsttag.c:198 +#: gst/gsttag.c:237 msgid "peak of the track" msgstr "" -#: gst/gsttag.c:202 +#: gst/gsttag.c:241 msgid "replaygain album gain" msgstr "" -#: gst/gsttag.c:203 +#: gst/gsttag.c:242 #, fuzzy msgid "album gain in db" msgstr "album contenant cette donnée" -#: gst/gsttag.c:207 +#: gst/gsttag.c:246 msgid "replaygain album peak" msgstr "" -#: gst/gsttag.c:208 +#: gst/gsttag.c:247 msgid "peak of the album" msgstr "" -#: gst/gsttag.c:246 +#: gst/gsttag.c:285 msgid ", " msgstr ", " @@ -549,9 +589,10 @@ msgstr ", " msgid "There is no element present to handle the stream's mime type %s." msgstr "" -#: gst/elements/gstfilesink.c:248 gst/elements/gstfilesrc.c:676 -msgid "No filename specified." -msgstr "" +#: gst/elements/gstfilesink.c:248 +#, fuzzy +msgid "No file name specified for writing." +msgstr "Echoué a déterminer le type du flux" #: gst/elements/gstfilesink.c:255 #, c-format @@ -569,16 +610,17 @@ msgstr "" msgid "Error while writing to file \"%s\"." msgstr "" -#: gst/elements/gstfilesrc.c:683 -msgid "No file specified for reading." -msgstr "" +#: gst/elements/gstfilesrc.c:676 gst/elements/gstmultifilesrc.c:242 +#, fuzzy +msgid "No file name specified for reading." +msgstr "Echoué a déterminer le type du flux" -#: gst/elements/gstfilesrc.c:698 gst/elements/gstmultifilesrc.c:244 +#: gst/elements/gstfilesrc.c:691 gst/elements/gstmultifilesrc.c:250 #, fuzzy, c-format msgid "Could not open file \"%s\" for reading." msgstr "Echoué a déterminer le type du flux" -#: gst/elements/gstfilesrc.c:709 +#: gst/elements/gstfilesrc.c:702 #, c-format msgid "File \"%s\" isn't a regular file." msgstr "" @@ -632,59 +674,59 @@ msgstr "" "impossible de convertir \"%s\" de manière a correspondre avec la proprieté " "\"%s\" dans l'element \"%s\" " -#: gst/parse/grammar.y:515 +#: gst/parse/grammar.y:516 #, c-format msgid "could not link %s to %s" msgstr "impossible de connecter %s a %s" -#: gst/parse/grammar.y:560 +#: gst/parse/grammar.y:561 #, c-format msgid "no element \"%s\"" msgstr "pas d'element \"%s\"" -#: gst/parse/grammar.y:611 +#: gst/parse/grammar.y:612 #, c-format msgid "could not parse caps \"%s\"" msgstr "impossible d'interpreter les capacités \"%s\"" -#: gst/parse/grammar.y:633 gst/parse/grammar.y:687 gst/parse/grammar.y:703 -#: gst/parse/grammar.y:761 +#: gst/parse/grammar.y:634 gst/parse/grammar.y:688 gst/parse/grammar.y:704 +#: gst/parse/grammar.y:762 msgid "link without source element" msgstr "lien sans element source" -#: gst/parse/grammar.y:639 gst/parse/grammar.y:684 gst/parse/grammar.y:770 +#: gst/parse/grammar.y:640 gst/parse/grammar.y:685 gst/parse/grammar.y:771 msgid "link without sink element" msgstr "lien sans element destination" -#: gst/parse/grammar.y:721 +#: gst/parse/grammar.y:722 #, c-format msgid "no source element for URI \"%s\"" msgstr "pas d'element source pour l'URI \"%s\"" -#: gst/parse/grammar.y:731 +#: gst/parse/grammar.y:732 #, c-format msgid "no element to link URI \"%s\" to" msgstr "pas d'element avec lequel lier l'URI \"%s\"" -#: gst/parse/grammar.y:739 +#: gst/parse/grammar.y:740 #, c-format msgid "no sink element for URI \"%s\"" msgstr "pas d'element destination pour l'URI \"%s\"" -#: gst/parse/grammar.y:743 +#: gst/parse/grammar.y:744 #, c-format msgid "could not link sink element for URI \"%s\"" msgstr "impossible de lier un element destination pour l'URI \"%s\"" -#: gst/parse/grammar.y:755 +#: gst/parse/grammar.y:756 msgid "empty pipeline not allowed" msgstr "tube vide non autorisé" -#: tools/gst-inspect.c:909 +#: tools/gst-inspect.c:916 msgid "Show plugin details" msgstr "" -#: tools/gst-inspect.c:911 +#: tools/gst-inspect.c:918 msgid "Show scheduler details" msgstr "" diff --git a/po/nl.po b/po/nl.po index 1aafe0c9ef..b5b363fb33 100644 --- a/po/nl.po +++ b/po/nl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GStreamer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2004-02-17 19:22+0100\n" +"POT-Creation-Date: 2004-02-25 19:28+0100\n" "PO-Revision-Date: 2004-01-13 12:03+0100\n" "Last-Translator: Thomas Vander Stichele \n" "Language-Team: Dutch \n" @@ -116,12 +116,12 @@ msgstr "Register om te gebruiken" msgid "REGISTRY" msgstr "REGISTER" -#: gst/gstelement.c:241 +#: gst/gstelement.c:242 #, c-format msgid "ERROR: from element %s: %s\n" msgstr "FOUT: van element %s: %s\n" -#: gst/gstelement.c:243 +#: gst/gstelement.c:244 #, c-format msgid "" "Additional debug info:\n" @@ -287,244 +287,278 @@ msgstr "Geen foutboodschap voor domein %s." msgid "No standard error message for domain %s and code %d." msgstr "Geen standaard foutboodschap voor domein %s en code %d." -#: gst/gsttag.c:62 +#: gst/gsttag.c:81 msgid "title" msgstr "titel" -#: gst/gsttag.c:63 +#: gst/gsttag.c:82 msgid "commonly used title" msgstr "vaak gebruikte titel" -#: gst/gsttag.c:67 +#: gst/gsttag.c:86 msgid "artist" msgstr "artiest" -#: gst/gsttag.c:68 +#: gst/gsttag.c:87 msgid "person(s) responsible for the recording" msgstr "perso(o)n(en) die de opname gemaakt hebben" -#: gst/gsttag.c:72 +#: gst/gsttag.c:91 msgid "album" msgstr "album" -#: gst/gsttag.c:73 +#: gst/gsttag.c:92 msgid "album containing this data" msgstr "album waarop dit stuk staat" -#: gst/gsttag.c:77 +#: gst/gsttag.c:96 msgid "date" msgstr "datum" -#: gst/gsttag.c:78 +#: gst/gsttag.c:97 msgid "date the data was created (in Julian calendar days)" msgstr "datum waarop het stuk gemaakt is (in Juliaanse kalenderdagen)" -#: gst/gsttag.c:82 +#: gst/gsttag.c:101 msgid "genre" msgstr "genre" -#: gst/gsttag.c:83 +#: gst/gsttag.c:102 msgid "genre this data belongs to" msgstr "genre van het stuk" -#: gst/gsttag.c:87 +#: gst/gsttag.c:106 msgid "comment" msgstr "commentaar" -#: gst/gsttag.c:88 +#: gst/gsttag.c:107 msgid "free text commenting the data" msgstr "vrij te kiezen commentaartekst die het stuk beschrijft" -#: gst/gsttag.c:92 +#: gst/gsttag.c:111 msgid "track number" msgstr "nummer" -#: gst/gsttag.c:93 +#: gst/gsttag.c:112 msgid "track number inside a collection" msgstr "nummer van het stuk op een verzameling" -#: gst/gsttag.c:97 +#: gst/gsttag.c:116 msgid "track count" msgstr "aantal nummers" -#: gst/gsttag.c:98 +#: gst/gsttag.c:117 msgid "count of tracks inside collection this track belongs to" msgstr "aantal nummers van de verzameling waarop dit stuk staat" -#: gst/gsttag.c:102 +#: gst/gsttag.c:121 +msgid "disc number" +msgstr "discnummer" + +#: gst/gsttag.c:122 +msgid "disc number inside a collection" +msgstr "nummer van de disc in een verzameling" + +#: gst/gsttag.c:126 +msgid "disc count" +msgstr "aantal discs" + +#: gst/gsttag.c:127 +msgid "count of discs inside collection this disc belongs to" +msgstr "aantal discs van de verzameling waartoe deze disc behoort" + +#: gst/gsttag.c:131 msgid "location" msgstr "locatie" -#: gst/gsttag.c:103 +#: gst/gsttag.c:132 msgid "original location of file as a URI" msgstr "originele locatie van bestand als een URI" -#: gst/gsttag.c:107 +#: gst/gsttag.c:136 msgid "description" msgstr "omschrijving" -#: gst/gsttag.c:108 +#: gst/gsttag.c:137 msgid "short text describing the content of the data" msgstr "korte tekst die de inhoud van het stuk omschrijft" -#: gst/gsttag.c:112 +#: gst/gsttag.c:141 msgid "version" msgstr "versie" -#: gst/gsttag.c:113 +#: gst/gsttag.c:142 msgid "version of this data" msgstr "versie van dit stuk" -#: gst/gsttag.c:117 +#: gst/gsttag.c:146 msgid "ISRC" msgstr "ISRC" -#: gst/gsttag.c:118 +#: gst/gsttag.c:147 msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/" msgstr "" "Internationale Standaard Recording Code - zie http://www.ifpi.org/isrc/" -#: gst/gsttag.c:122 gst/gsttag.c:123 +#: gst/gsttag.c:151 gst/gsttag.c:152 msgid "organization" msgstr "organizatie" -#: gst/gsttag.c:127 +#: gst/gsttag.c:156 msgid "copyright" msgstr "copyright" -#: gst/gsttag.c:128 +#: gst/gsttag.c:157 msgid "copyright notice of the data" msgstr "copyright-notitie van het stuk" -#: gst/gsttag.c:132 +#: gst/gsttag.c:161 msgid "contact" msgstr "contact" -#: gst/gsttag.c:133 +#: gst/gsttag.c:162 msgid "contact information" msgstr "contactinformatie" -#: gst/gsttag.c:137 +#: gst/gsttag.c:166 msgid "license" msgstr "licentie" -#: gst/gsttag.c:138 +#: gst/gsttag.c:167 msgid "license of data" msgstr "licentie van het stuk" -#: gst/gsttag.c:142 +#: gst/gsttag.c:171 msgid "performer" msgstr "uitvoerder" -#: gst/gsttag.c:143 +#: gst/gsttag.c:172 msgid "person(s) performing" msgstr "perso(o)n(en) die het stuk uitvoeren" -#: gst/gsttag.c:147 +#: gst/gsttag.c:176 msgid "duration" msgstr "duur" -#: gst/gsttag.c:148 +#: gst/gsttag.c:177 msgid "length in GStreamer time units (nanoseconds)" msgstr "lengte in GStreamer tijdseenheden (nanoseconden)" -#: gst/gsttag.c:152 +#: gst/gsttag.c:181 msgid "codec" msgstr "codec" -#: gst/gsttag.c:153 +#: gst/gsttag.c:182 msgid "codec the data is stored in" msgstr "codec waarin het stuk is opgeslagen" -#: gst/gsttag.c:157 +#: gst/gsttag.c:186 +#, fuzzy +msgid "video-codec" +msgstr "video codec" + +#: gst/gsttag.c:187 +msgid "codec the video data is stored in" +msgstr "video codec waarin het stuk is opgeslagen" + +#: gst/gsttag.c:191 +#, fuzzy +msgid "audio-codec" +msgstr "audio codec" + +#: gst/gsttag.c:192 +msgid "codec the audio data is stored in" +msgstr "audio codec waarin het stuk is opgeslagen" + +#: gst/gsttag.c:196 msgid "bitrate" msgstr "bitsnelheid" -#: gst/gsttag.c:158 +#: gst/gsttag.c:197 msgid "exact or average bitrate in bits/s" msgstr "exacte of gemiddelde bitsnelheid in bits/s" -#: gst/gsttag.c:162 +#: gst/gsttag.c:201 msgid "nominal bitrate" msgstr "nominale bitsnelheid" -#: gst/gsttag.c:163 +#: gst/gsttag.c:202 msgid "nominal bitrate in bits/s" msgstr "nominale bitsnelheid in bits per seconde" -#: gst/gsttag.c:167 +#: gst/gsttag.c:206 msgid "minimum bitrate" msgstr "minimum bitsnelheid" -#: gst/gsttag.c:168 +#: gst/gsttag.c:207 msgid "minimum bitrate in bits/s" msgstr "minimum bitsnelheid in bits per seconde" -#: gst/gsttag.c:172 +#: gst/gsttag.c:211 msgid "maximum bitrate" msgstr "maximum bitsnelheid" -#: gst/gsttag.c:173 +#: gst/gsttag.c:212 msgid "maximum bitrate in bits/s" msgstr "maximum bitsnelheid in bits per seconde" -#: gst/gsttag.c:177 +#: gst/gsttag.c:216 msgid "encoder" msgstr "encoder" -#: gst/gsttag.c:178 +#: gst/gsttag.c:217 msgid "encoder used to encode this stream" msgstr "encoder gebruikt om deze stroom te encoderen" -#: gst/gsttag.c:182 +#: gst/gsttag.c:221 msgid "encoder version" msgstr "encoder versie" -#: gst/gsttag.c:183 +#: gst/gsttag.c:222 msgid "version of the encoder used to encode this stream" msgstr "versie van de encoder gebruikt om deze stroom te encoderen" -#: gst/gsttag.c:187 +#: gst/gsttag.c:226 msgid "serial" msgstr "volgnummer" -#: gst/gsttag.c:188 +#: gst/gsttag.c:227 msgid "serial number of track" msgstr "volgnummer van dit nummer" -#: gst/gsttag.c:192 +#: gst/gsttag.c:231 msgid "replaygain track gain" msgstr "" -#: gst/gsttag.c:193 +#: gst/gsttag.c:232 msgid "track gain in db" msgstr "" -#: gst/gsttag.c:197 +#: gst/gsttag.c:236 msgid "replaygain track peak" msgstr "" -#: gst/gsttag.c:198 +#: gst/gsttag.c:237 msgid "peak of the track" msgstr "" -#: gst/gsttag.c:202 +#: gst/gsttag.c:241 msgid "replaygain album gain" msgstr "" -#: gst/gsttag.c:203 +#: gst/gsttag.c:242 msgid "album gain in db" msgstr "" -#: gst/gsttag.c:207 +#: gst/gsttag.c:246 msgid "replaygain album peak" msgstr "" -#: gst/gsttag.c:208 +#: gst/gsttag.c:247 msgid "peak of the album" msgstr "" -#: gst/gsttag.c:246 +#: gst/gsttag.c:285 msgid ", " msgstr ", " @@ -534,9 +568,9 @@ msgid "There is no element present to handle the stream's mime type %s." msgstr "" "Er is geen element aanwezig die het mime-type %s van de stroom kan verwerken." -#: gst/elements/gstfilesink.c:248 gst/elements/gstfilesrc.c:676 -msgid "No filename specified." -msgstr "Geen bestandsnaam gegeven." +#: gst/elements/gstfilesink.c:248 +msgid "No file name specified for writing." +msgstr "Geen bestandsnaam gegeven om te schrijven." #: gst/elements/gstfilesink.c:255 #, c-format @@ -554,16 +588,16 @@ msgstr "Fout bij het sluiten van bestand \"%s\"." msgid "Error while writing to file \"%s\"." msgstr "Fout bij het schrijven naar bestand \"%s\"." -#: gst/elements/gstfilesrc.c:683 -msgid "No file specified for reading." +#: gst/elements/gstfilesrc.c:676 gst/elements/gstmultifilesrc.c:242 +msgid "No file name specified for reading." msgstr "Geen bestandsnaam gegeven om te lezen." -#: gst/elements/gstfilesrc.c:698 gst/elements/gstmultifilesrc.c:244 +#: gst/elements/gstfilesrc.c:691 gst/elements/gstmultifilesrc.c:250 #, c-format msgid "Could not open file \"%s\" for reading." msgstr "Kon bestand \"%s\" niet openen om te lezen." -#: gst/elements/gstfilesrc.c:709 +#: gst/elements/gstfilesrc.c:702 #, c-format msgid "File \"%s\" isn't a regular file." msgstr "Bestand \"%s\" is geen gewoon bestand." @@ -616,59 +650,59 @@ msgstr "" "kon \"%s\" niet omzetten zodat het in eigenschap \"%s\" in element \"%s\" " "past" -#: gst/parse/grammar.y:515 +#: gst/parse/grammar.y:516 #, c-format msgid "could not link %s to %s" msgstr "kon %s niet verbinden met %s" -#: gst/parse/grammar.y:560 +#: gst/parse/grammar.y:561 #, c-format msgid "no element \"%s\"" msgstr "geen element \"%s\"" -#: gst/parse/grammar.y:611 +#: gst/parse/grammar.y:612 #, c-format msgid "could not parse caps \"%s\"" msgstr "kon mogelijkheden \"%s\" niet verwerken" -#: gst/parse/grammar.y:633 gst/parse/grammar.y:687 gst/parse/grammar.y:703 -#: gst/parse/grammar.y:761 +#: gst/parse/grammar.y:634 gst/parse/grammar.y:688 gst/parse/grammar.y:704 +#: gst/parse/grammar.y:762 msgid "link without source element" msgstr "verbinding zonder bronelement" -#: gst/parse/grammar.y:639 gst/parse/grammar.y:684 gst/parse/grammar.y:770 +#: gst/parse/grammar.y:640 gst/parse/grammar.y:685 gst/parse/grammar.y:771 msgid "link without sink element" msgstr "verbinding zonder doelelement" -#: gst/parse/grammar.y:721 +#: gst/parse/grammar.y:722 #, c-format msgid "no source element for URI \"%s\"" msgstr "geen bronelement voor URI \"%s\"" -#: gst/parse/grammar.y:731 +#: gst/parse/grammar.y:732 #, c-format msgid "no element to link URI \"%s\" to" msgstr "geen element om URI \"%s\" mee te verbinden" -#: gst/parse/grammar.y:739 +#: gst/parse/grammar.y:740 #, c-format msgid "no sink element for URI \"%s\"" msgstr "geen doelelement voor URI \"%s\"" -#: gst/parse/grammar.y:743 +#: gst/parse/grammar.y:744 #, c-format msgid "could not link sink element for URI \"%s\"" msgstr "kon doelelement niet verbinden voor URI \"%s\"" -#: gst/parse/grammar.y:755 +#: gst/parse/grammar.y:756 msgid "empty pipeline not allowed" msgstr "lege pijplijn niet toegelaten" -#: tools/gst-inspect.c:909 +#: tools/gst-inspect.c:916 msgid "Show plugin details" msgstr "Toon details van plugins" -#: tools/gst-inspect.c:911 +#: tools/gst-inspect.c:918 msgid "Show scheduler details" msgstr "Toon details van planner" @@ -798,6 +832,9 @@ msgstr "BEZIG met pijplijn ...\n" msgid "ERROR: pipeline doesn't want to play.\n" msgstr "FOUT: pijplijn wil niet spelen.\n" +#~ msgid "No filename specified." +#~ msgstr "Geen bestandsnaam gegeven." + #~ msgid "application" #~ msgstr "applicatie"