def __init__(self, targetContext):
     """
     targetContext's transcoding config should
     have the following attributes:
         videoEncoder
         videoFramerate
         videoPAR
         videoWidth
         videoHeight
         videoMaxWidth
         videoMaxHeight
         videoScaleMethod
         videoWidthMultiple
         videoHeightMultiple
         muxer
     """
     TranscodingTarget.__init__(self, targetContext)
     self._checkConfAttr("videoEncoder", True)
     self._checkConfAttr("muxer", True)
     self._checkConfAttr("videoFramerate")
     self._checkConfAttr("videoPAR")
     self._checkConfAttr("videoWidth")
     self._checkConfAttr("videoHeight")
     self._checkConfAttr("videoMaxWidth")
     self._checkConfAttr("videoMaxHeight")
     self._checkConfAttr("videoWidthMultiple")
     self._checkConfAttr("videoHeightMultiple")
     self._checkConfAttr("videoScaleMethod")
 def __init__(self, targetContext):
     """
     targetContext's transcoding config should
     have the following attributes:
         audioEncoder
         audioRate
         audioChannels
         muxer
     """
     TranscodingTarget.__init__(self, targetContext)
     self._checkConfAttr("audioEncoder", True)
     self._checkConfAttr("muxer", True)
     self._checkConfAttr("audioRate")
     self._checkConfAttr("audioChannels")
 def __init__(self, targetContext):
     """
     The filename may contain template variables:
         %(frame)d  => frame number (starting at 1)
         %(keyframe)d  => key-frame number (starting at 1)
         %(index)d  => index of the thumbnail (starting at 1)
         %(timestamp)d => timestamp of the thumbnail
         %(time)s => composed time of the thumbnail,
                     like %(hours)02d:%(minutes)02d:%(seconds)02d
         %(hours)d => hours from start
         %(minutes)d => minutes from start
         %(seconds)d => seconds from start
     Transcoding config should contains the attributes:
         periodValue
         periodUnit (seconds, frames or percent)
         maxCount
         thumbsWidth
         thumbsHeight
         outputFormat Enum(jpg, png)
     """
     TranscodingTarget.__init__(self, targetContext)
     self._pipeline = None
     self._bus = None
     self._thumbSink = None
     self._thumbSrc = None
     self._fileSink = None
     self._working = False
     self._finalizing = False
     self._pending = []  # [(gst.Buffer, Variables)]
     self._thumbnails = {}  # {filename: None}
     self._waiters = PassiveWaiters("Thumbnailer Finalization")
     self._prerollTimeout = None
     self._playErrorTimeout = None
     self._startLock = threading.Lock()
     self._checkConfAttr("periodValue")
     self._checkConfAttr("periodUnit")
     self._checkConfAttr("maxCount")
     self._checkConfAttr("thumbsWidth")
     self._checkConfAttr("thumbsHeight")
     self._checkConfAttr("outputFormat")