Ok, I think I understand the 'filter' syntax better (thanks for the feedback) in gst-launch. I am now trying to get the video source to output a stream that is compatible with the TIVidenc plugin. % gst-launch videotestsrc pattern=1 num-buffers=60 ! "video/x-raw-yuv, format=UYVY" ! TIVidenc codecName=h264enc engineName=codecServer WARNING: erroneous pipeline: could not link videotestsrc0 to tividenc0 Using gst-inspect, it looks like the TIVidenc needs a UYVY format (as I selected above). See below. Since the TIVidenc wants a framerate, width and height, I tried to include a filter for that, but this gave the same error. root at overo:~/data/videos# gst-launch videotestsrc pattern=1 num-buffers=60 ! "video/x-raw-yuv, format=UYVY,width=720,height=480,framerate=15" ! TIVidenc codecName=h264enc engineName=codecServer WARNING: erroneous pipeline: could not link videotestsrc0 to tividenc0 root at overo:~/data/videos# Any suggestions on how to debug this to find a compatible pipeline? Thanks, Charlie root at overo:~/data/videos# gst-inspect TIVidenc Factory Details: Long name: TI xDM 0.9 Video Encoder Class: Codec/Encoder/Video Description: Encodes video using an xDM 0.9-based codec Author(s): Brijesh Singh; Texas Instruments, Inc. Rank: primary (256) Plugin Details: Name: TICodecPlugin Description: Plugin for TI xDM-Based Codecs Filename: /usr/lib/gstreamer-0.10/libgstticodecplugin.so Version: 0.10.0.1 License: unknown Source module: gstticodecplugin Binary package: TI Origin URL: http://www.ti.com/ GObject +----GstObject +----GstElement +----GstTIVidenc Pad Templates: SINK template: 'sink' Availability: Always Capabilities: video/x-raw-yuv format: UYVY framerate: [ 0/1, 2147483647/1 ] width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] SRC template: 'src' Availability: Always Capabilities: video/mpeg mpegversion: { 4 } systemstream: false framerate: [ 0/1, 2147483647/1 ] width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] video/x-h264 framerate: [ 0/1, 2147483647/1 ] width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] Element Flags: no flags set Element Implementation: Has change_state() function: 0x4056ea38 Has custom save_thyself() function: gst_element_save_thyself Has custom restore_thyself() function: gst_element_restore_thyself Element has no clocking capabilities. Element has no indexing capabilities. Element has no URI handling capabilities. Pads: SRC: 'src' Implementation: Pad Template: 'src' SINK: 'sink' Implementation: Has chainfunc(): gst_tividenc_chain Has custom eventfunc(): gst_tividenc_sink_event Pad Template: 'sink' Element Properties: name : The name of the object flags: readable, writable String. Default: null Current: "tividenc0" engineName : Engine name used by Codec Engine flags: readable, writable String. Default: "unspecified" Current: null codecName : Name of video codec flags: readable, writable String. Default: "unspecified" Current: null numOutputBufs : Number of output buffers to allocate for codec flags: writable Integer. Range: 3 - 2147483647 Default: 3 Write only numInputBufs : Number of input buffers in circular queue flags: writable Integer. Range: 1 - 2147483647 Default: 1 Write only resolution : The resolution of the input image ('width'x'height') flags: readable, writable String. Default: "720x480" Current: null iColorSpace : Only UYVY is supported flags: readable, writable String. Default: "UYVY" Current: null bitRate : Set encoder bit rate flags: writable Long. Range: 1 - 2147483647 Default: 2000000 Write only displayBuffer : Display circular buffer status while processing flags: writable Boolean. Default: false Write only contiguousInputFrame: Set this if elemenet recieved contiguous input frame flags: writable Boolean. Default: false Write only genTimeStamps : Set timestamps on output buffers flags: writable Boolean. Default: true Write only rateControlPreset : Bit rate control 1 - No rate control 2 - Constant bit rate (CBR) 3 - Variable bit rate (VBR) flags: writable Integer. Range: 1 - 2147483647 Default: 1 Write only