Dubbi sulla traduzione di GStreamer
Luca Ferretti
elle.uca@infinito.it
Ven 2 Dic 2005 21:04:22 CET
Se ancora non lo sapete, tra qualche giorno verrà rilasciata la versione
0.10 di GStreamer. Come avrete già immaginato leggendo l'oggetto, ci
sono alcune stringhe la cui traduzione, anzi il significato, è un po'
oscuro..
Ecco qui il primo messaggio dubbioso. Rammento che GStreamer funziona
come una pipeline costruita da diversi blocchi (-> input -> T1() -> ...
-> Tn() -> output ->) ed ogni elemento della pipeline può trovarsi in
uno degli stati seguenti: NULL (predefinito, l'elemento è creato e non
sta facendo alcunché), READY (pronto a fare qualcosa), PAUSED (in
pausa), PLAYING (sta facendo qualcosa). Gruppi di elementi possono
essere considerati come un singolo elemento pipeline.
Per cui ho
#: tools/gst-launch.c:626 tools/gst-launch.c:673
#, c-format
msgid "PAUSE pipeline ...\n"
msgstr ""
Stando al codice questo messaggio appare su stderr prima di impostare lo
stato di una pipeline a PAUSED. Credo che il maiuscolo sia stato usato
per mettere in evidenza l'azione. Che ne dite di:
Pipeline in PAUSE...\n
Ora, una volta segnalato su stderr ed inviato il segnale di pausa, si
procede con l'analisi del codice di ritorno e all'invio su stderr del
messaggio opportuno.
Prima soluzione, STATE_CHANGE_FAILURE, e primo messaggio:
#: tools/gst-launch.c:631
#, fuzzy, c-format
msgid "ERROR: pipeline doesn't want to pause.\n"
msgstr "ERRORE: la pipeline non vuole mettersi in pausa.\n"
Qui mi sento costretto a rendere attore la pipeline, cosa non proprio
gradita alle nostre linee guida. OK? (ovvio che so che potrei mettere
"impossibile mettere in pausa..", ma si perde il fatto che il problema è
nella pipeline e non nello scheduler).
Seconda soluzione, GST_STATE_CHANGE_NO_PREROLL, e secondo messaggio
#: tools/gst-launch.c:636
#, fuzzy, c-format
msgid "NO_PREROLL pipeline ...\n"
msgstr "NESSUN PREROLL sulla pipeline...\n"
Per questo benedetto preroll, ho trovato sulla documentazione:
Sinks are special elements in GStreamer. This is because sink
elements have to take care of preroll, which is the process that
takes care that elements going into the GST_STATE_PAUSED state
will have buffers ready after the state change. The result of
this is that such elements can start processing data immediately
after going into the GST_STATE_PLAYING state, without requiring
to take some time to initialize outputs or set up decoders; all
that is done already before the state-change to GST_STATE_PAUSED
successfully completes.
Preroll, however, is a complex process that would require the
same code in many elements. Therefore, sink elements can derive
from the GstBaseSink base-class, which does preroll and a few
other utility functions automatically. The derived class only
needs to implement a bunch of virtual functions and will work
automatically.
Terza soluzione, GST_STATE_CHANGE_ASYNC, e terzo messaggio
#: tools/gst-launch.c:639
#, fuzzy, c-format
msgid "PREROLL pipeline ...\n"
msgstr "PREROLL sulla pipeline...\n"
Credo che intenda che l'azione di preroll è ancora in corso. Magari
aggiungere un "in corso" come se fosse PREROLLING?
Ultima soluzione, GST_STATE_CHANGE_SUCCESS, e ultimo messaggio
#: tools/gst-launch.c:643
#, fuzzy, c-format
msgid "PREROLLED pipeline ...\n"
msgstr "EFFETTUATO PREROLL sulla pipeline...\n"
Il messaggio che segue credo appaia dopo aver atteso un po' quando prima
c'era GST_STATE_CHANGE_ASYNC.
#: tools/gst-launch.c:650
#, c-format, fuzzy
msgid "ERROR: pipeline doesn't want to preroll.\n"
msgstr "ERRORE: la pipeline non vuole fare il preroll.\n"
I due seguenti mi paiono pacifici, fatto salvo per la pipeline attore,
che a questo punto ho continuato a mantenere.
#: tools/gst-launch.c:655
#, c-format
msgid "RUNNING pipeline ...\n"
msgstr "ESECUZIONE della pipeline...\n"
#: tools/gst-launch.c:658
#, c-format
msgid "ERROR: pipeline doesn't want to play.\n"
msgstr "ERRORE: la pipeline non vuole riprodurre.\n"
I due seguenti invece, rifanno in verso al primo messaggio dubbioso. Al
printf su stderr del messaggio fa seguito un comando per impostare lo
stato delle pipeline a READY o NULL
#: tools/gst-launch.c:676
#, fuzzy, c-format
msgid "READY pipeline ...\n"
msgstr "Pipeline in READY...\n"
#: tools/gst-launch.c:681
#, c-format, fuzzy
msgid "NULL pipeline ...\n"
msgstr "Pipeline in NULL...\n"
Infine ultimo messaggio della serie ed ultimo messaggio del comando,
viene inviato su stderr prima di fare l'unref dell'oggetto e terminare
l'esecuzione di gst-launch
#: tools/gst-launch.c:686
#, fuzzy, c-format
msgid "FREEING pipeline ...\n"
msgstr "??? della pipeline...\n"
???= SVUOTAMENTO, LIBERAZIONE, DEREFERENZIAZIONE, ESECUZIONE FREE
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Questa parte del messaggio =?ISO-8859-1?Q?è?Url : http://lists.linux.it/pipermail/tp/attachments/20051202/be5570d3/attachment.pgp
Maggiori informazioni sulla lista
tp