]> git.parisson.com Git - timeside.git/commitdiff
update encoder pipelines
authoryomguy <yomguy@parisson.com>
Mon, 8 Oct 2012 09:51:16 +0000 (11:51 +0200)
committeryomguy <yomguy@parisson.com>
Mon, 8 Oct 2012 09:51:16 +0000 (11:51 +0200)
timeside/encoder/flac.py
timeside/encoder/m4a.py
timeside/encoder/mp3.py
timeside/encoder/ogg.py
timeside/encoder/wav.py
timeside/encoder/webm.py

index 07f0b33f7bd1b76b67369cbc4fc37a352d1dde38..cca90e3e357a76847be304d5f94c16f333c66f71 100644 (file)
@@ -55,12 +55,13 @@ class FlacEncoder(GstEncoder):
             ''' % self.filename
 
         elif self.filename :
-            self.pipe += '! filesink location=%s ' % self.filename
+            self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
         else:
-            self.pipe += '! appsink name=app sync=False '
+            self.pipe += '! queue ! appsink name=app sync=False '
 
         self.start_pipeline(channels, samplerate)
 
+
     @staticmethod
     @interfacedoc
     def id():
@@ -88,5 +89,4 @@ class FlacEncoder(GstEncoder):
 
     @interfacedoc
     def set_metadata(self, metadata):
-        #TODO:
-        pass
+        self.metadata = metadata
index fdcc0aa8d8e6c9f9b3a93788b14ecce70b80fb45..8151917b442687771c15b473c7a85aeead0076e0 100644 (file)
@@ -46,9 +46,20 @@ class AacEncoder(GstEncoder):
             ! faac
             ! filesink location=%s ''' % self.filename
 
-        # start pipeline
+        if self.filename and self.streaming:
+            self.pipe += ''' ! tee name=t
+            ! queue ! filesink location=%s
+            t. ! queue ! appsink name=app sync=False
+            ''' % self.filename
+
+        elif self.filename :
+            self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
+        else:
+            self.pipe += '! queue ! appsink name=app sync=False '
+
         self.start_pipeline(channels, samplerate)
 
+
     @staticmethod
     @interfacedoc
     def id():
@@ -76,5 +87,4 @@ class AacEncoder(GstEncoder):
 
     @interfacedoc
     def set_metadata(self, metadata):
-        #TODO
-        pass
+        self.metadata = metadata
index 7581a649ae539ec0d510332c2583e5c47ee8bfdf..21c0b39565dde29c8072eac78c4a8fb3d53f6996 100644 (file)
@@ -54,8 +54,10 @@ class Mp3Encoder(GstEncoder):
 
         self.pipe = '''appsrc name=src
                   ! audioconvert
-                  ! lamemp3enc target=quality quality=2 encoding-engine-quality=standard ! id3v2mux
+                  ! lamemp3enc target=quality quality=2 encoding-engine-quality=standard
+                  ! id3v2mux
                   '''
+
         if self.filename and self.streaming:
             self.pipe += ''' ! tee name=t
             ! queue ! filesink location=%s
index 4130d1b5aea9b0e866f2e4d4af55e75187e5c3ad..0f9a545058fa2088ed6254f0d911a65f6d416fcd 100644 (file)
@@ -56,13 +56,13 @@ class VorbisEncoder(GstEncoder):
             ''' % self.filename
 
         elif self.filename :
-            self.pipe += '! filesink async=True location=%s ' % self.filename
+            self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
         else:
-            self.pipe += '! appsink name=app sync=False '
+            self.pipe += '! queue ! appsink name=app sync=False '
 
-        # start pipeline
         self.start_pipeline(channels, samplerate)
 
+
     @staticmethod
     @interfacedoc
     def id():
@@ -90,5 +90,5 @@ class VorbisEncoder(GstEncoder):
 
     @interfacedoc
     def set_metadata(self, metadata):
-        #TODO:
-        pass
+        self.metadata = metadata
+
index 4d87b3bae08400bdd5f893ad8e7bdf95ac64596d..94bc2cbec0be4db22eb8e7da21b68a1dead77b3e 100644 (file)
@@ -57,13 +57,13 @@ class WavEncoder(GstEncoder):
             ''' % self.filename
 
         elif self.filename :
-            self.pipe += '! filesink location=%s ' % self.filename
+            self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
         else:
-            self.pipe += '! appsink name=app sync=False'
+            self.pipe += '! queue ! appsink name=app sync=False '
 
-        # start pipeline
         self.start_pipeline(channels, samplerate)
 
+
     @staticmethod
     @interfacedoc
     def id():
index 91cfd2ed95136972a2ff52224d5f57b9847a19e8..b28ac0522ef05ee5d261fae312631e6314b12742 100644 (file)
@@ -64,13 +64,13 @@ class WebMEncoder(GstEncoder):
             ''' % self.filename
 
         elif self.filename :
-            self.pipe += '! filesink location=%s ' % self.filename
+            self.pipe += '! filesink location=%s async=False sync=False ' % self.filename
         else:
-            self.pipe += '! appsink name=app sync=False '
+            self.pipe += '! queue ! appsink name=app sync=False '
 
-        # start pipeline
         self.start_pipeline(channels, samplerate)
 
+
     @staticmethod
     @interfacedoc
     def id():
@@ -84,7 +84,7 @@ class WebMEncoder(GstEncoder):
     @staticmethod
     @interfacedoc
     def format():
-        return "WEBM"
+        return "WebM"
 
     @staticmethod
     @interfacedoc
@@ -98,5 +98,4 @@ class WebMEncoder(GstEncoder):
 
     @interfacedoc
     def set_metadata(self, metadata):
-        #TODO:
-        pass
+        self.metadata = metadata