diff options
author | Joar Wandborg <git@wandborg.com> | 2011-11-21 21:47:00 +0100 |
---|---|---|
committer | Joar Wandborg <git@wandborg.com> | 2011-11-21 21:47:00 +0100 |
commit | c875bb74a8245b39b6985f37cb8ab838c22efa7e (patch) | |
tree | 9f478601a115dd1b81bcdf8a8957fe63549c62a2 | |
parent | a63b640f12896a873ebf96f9fe0ef62d0794bfe7 (diff) | |
download | mediagoblin-c875bb74a8245b39b6985f37cb8ab838c22efa7e.tar.lz mediagoblin-c875bb74a8245b39b6985f37cb8ab838c22efa7e.tar.xz mediagoblin-c875bb74a8245b39b6985f37cb8ab838c22efa7e.zip |
Refractored GStreamer element linking
-rw-r--r-- | mediagoblin/media_types/video/transcoders.py | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/mediagoblin/media_types/video/transcoders.py b/mediagoblin/media_types/video/transcoders.py index 8d80beda..8b220891 100644 --- a/mediagoblin/media_types/video/transcoders.py +++ b/mediagoblin/media_types/video/transcoders.py @@ -17,7 +17,6 @@ from __future__ import division import os -os.environ["GST_DEBUG_DUMP_DOT_DIR"] = "/tmp" os.putenv('GST_DEBUG_DUMP_DOT_DIR', '/tmp') import sys @@ -498,28 +497,30 @@ class VideoTranscoder: # or audio sink self.filesrc.link(self.decoder) - # Link all the video elements in a link to webmux - self.videoqueue.link(self.videorate) - self.videorate.link(self.ffmpegcolorspace) - self.ffmpegcolorspace.link(self.videoscale) - self.videoscale.link(self.capsfilter) - #self.capsfilter.link(self.xvimagesink) - self.capsfilter.link(self.vp8enc) - self.vp8enc.link(self.webmmux) + # Link all the video elements in a row to webmmux + gst.element_link_many( + self.videoqueue, + self.videorate, + self.ffmpegcolorspace, + self.videoscale, + self.capsfilter, + self.vp8enc, + self.webmmux) if self.data.is_audio: - # Link all the audio elements in a line to webmux - #self.audioconvert.link(self.alsasink) - self.audioqueue.link(self.audiorate) - self.audiorate.link(self.audioconvert) - self.audioconvert.link(self.audiocapsfilter) - self.audiocapsfilter.link(self.vorbisenc) - #self.audiocapsfilter.link(self.level) - #self.level.link(self.vorbisenc) - self.vorbisenc.link(self.webmmux) - - self.webmmux.link(self.progressreport) - self.progressreport.link(self.filesink) + # Link all the audio elements in a row to webmux + gst.element_link_many( + self.audioqueue, + self.audiorate, + self.audioconvert, + self.audiocapsfilter, + self.vorbisenc, + self.webmmux) + + gst.element_link_many( + self.webmmux, + self.progressreport, + self.filesink) # Setup the message bus and connect _on_message to the pipeline self._setup_bus() |