Author: michiel
Date: 2009-09-09 23:08:43 +0200 (Wed, 09 Sep 2009)
New Revision: 38536

Modified:
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
   
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
   
mmbase/trunk/applications/streams/src/main/resources/org/mmbase/streams/resources/createcaches.xsd
Log:
support for 'label's

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
       2009-09-09 21:08:31 UTC (rev 38535)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/CreateCachesProcessor.java
       2009-09-09 21:08:43 UTC (rev 38536)
@@ -130,9 +130,10 @@
                                         transcoder = new 
RecognizerTranscoder(recognizer);
                                     }
                                     String in = el.getAttribute("in");
+                                    String label = el.getAttribute("label");
                                     MimeType mimeType = new 
MimeType(el.getAttribute("mimetype"));
                                     LOG.debug("Created " + transcoder);
-                                    JobDefinition def = new JobDefinition(id, 
in.length() > 0 ? in : null, transcoder, mimeType);
+                                    JobDefinition def = new JobDefinition(id, 
in.length() > 0 ? in : null, label.length() > 0 ? label : null, transcoder, 
mimeType);
                                     org.w3c.dom.NodeList childs = 
el.getChildNodes();
                                     for (int j = 0; j <= childs.getLength(); 
j++) {
                                         if (childs.item(j) instanceof Element) 
{
@@ -436,16 +437,18 @@
 
         final String inId;
         final String id;
+        final String label;
         /**
          * Creates an JobDefinition template (used in the configuration 
container).
          */
-        JobDefinition(String id, String inId, Transcoder t, MimeType mt) {
+        JobDefinition(String id, String inId, String label, Transcoder t, 
MimeType mt) {
             assert id != null;
             transcoder = t.clone();
             analyzers = new ArrayList<Analyzer>();
             mimeType = mt;
             this.id = id;
             this.inId = inId;
+            this.label = label;
         }
 
         public Transcoder getTranscoder() {
@@ -465,6 +468,9 @@
         public String getInId() {
             return inId;
         }
+        public String getLabel() {
+            return label;
+        }
 
         @Override
         public String toString() {
@@ -540,6 +546,9 @@
                 File outFile = new File(getDirectory(), 
dest.getStringValue("url").replace("/", File.separator));
                 dest.setLongValue("filesize", outFile.length());
                 dest.setIntValue("state", State.DONE.getValue());
+                if (definition.getLabel() != null && 
dest.getNodeManager().hasField("label")) {
+                    dest.setStringValue("label", definition.getLabel());
+                }
                 dest.commit();
             }
         }
@@ -577,6 +586,14 @@
         public MimeType getMimeType() {
             return new MimeType(getSource().getStringValue("mimetype"));
         }
+        @Override
+        public void ready() {
+            super.ready();
+            if (definition.getLabel() != null && 
source.getNodeManager().hasField("label")) {
+                source.setStringValue("label", definition.getLabel());
+            }
+
+        }
     }
     public class SkippedResult extends Result {
         SkippedResult(JobDefinition def, URI in) {

Modified: 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
        2009-09-09 21:08:31 UTC (rev 38535)
+++ 
mmbase/trunk/applications/streams/src/main/java/org/mmbase/streams/transcoders/FFMpegTranscoder.java
        2009-09-09 21:08:43 UTC (rev 38536)
@@ -92,7 +92,9 @@
 
     @Override
     protected LoggerWriter getErrorWriter(Logger log) {
-        return super.getErrorWriter(new ChainedLogger(log, new 
ErrorDetector(Pattern.compile("\\s*Unknown encoder.*"))));
+        // ffmpeg write also non-errors to stderr, so lets not log on ERROR, 
but on SERVICE.
+        // also pluging an error-detector here.
+        return new LoggerWriter(new ChainedLogger(log, new 
ErrorDetector(Pattern.compile("\\s*Unknown encoder.*"))), Level.SERVICE);
     }
 
     public FFMpegTranscoder() {

Modified: 
mmbase/trunk/applications/streams/src/main/resources/org/mmbase/streams/resources/createcaches.xsd
===================================================================
--- 
mmbase/trunk/applications/streams/src/main/resources/org/mmbase/streams/resources/createcaches.xsd
  2009-09-09 21:08:31 UTC (rev 38535)
+++ 
mmbase/trunk/applications/streams/src/main/resources/org/mmbase/streams/resources/createcaches.xsd
  2009-09-09 21:08:43 UTC (rev 38536)
@@ -35,6 +35,7 @@
       </xsd:sequence>
       <xsd:attribute name="id"        type="xsd:ID" use="required" />
       <xsd:attribute name="in"        type="xsd:string" />
+      <xsd:attribute name="label"     type="xsd:string" />
       <xsd:attribute name="mimetype"  type="xsd:string" />
     </xsd:complexType>
   </xsd:element>
@@ -46,6 +47,7 @@
         <xsd:element ref="loganalyzer" minOccurs="0" maxOccurs="unbounded" />
       </xsd:sequence>
       <xsd:attribute name="id"        type="xsd:ID" use="required" />
+      <xsd:attribute name="label"     type="xsd:string" />
     </xsd:complexType>
   </xsd:element>
 

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to