## gstavprotocol gstavprotocol |

## Functions

#define | GST_FFMPEG_PIPE_MUTEX_LOCK()
#define | GST_FFMPEG_PIPE_MUTEX_UNLOCK()
#define | GST_FFMPEG_PIPE_WAIT()
#define | GST_FFMPEG_PIPE_SIGNAL()
int | gst_ffmpeg_pipe_open ()
int | gst_ffmpeg_pipe_close ()
int | gst_ffmpegdata_open ()
int | gst_ffmpegdata_close ()

## Types and Values

struct | GstFFMpegPipe

## Description

## Functions

### GST_FFMPEG_PIPE_MUTEX_LOCK()

    #define             GST_FFMPEG_PIPE_MUTEX_LOCK(m)

### GST_FFMPEG_PIPE_MUTEX_UNLOCK()

    #define             GST_FFMPEG_PIPE_MUTEX_UNLOCK(m)

### GST_FFMPEG_PIPE_WAIT()

    #define             GST_FFMPEG_PIPE_WAIT(m)

### GST_FFMPEG_PIPE_SIGNAL()

    #define             GST_FFMPEG_PIPE_SIGNAL(m)

### gst_ffmpeg_pipe_open ()

    int
    gst_ffmpeg_pipe_open (GstFFMpegPipe *ffpipe,
                          int flags,
                          AVIOContext **context);

### gst_ffmpeg_pipe_close ()

    int
    gst_ffmpeg_pipe_close (AVIOContext *h);

### gst_ffmpegdata_open ()

    int
    gst_ffmpegdata_open (GstPad *pad,
                         int flags,
                         AVIOContext **context);

### gst_ffmpegdata_close ()

    int
    gst_ffmpegdata_close (AVIOContext *h);

## Types and Values

### struct GstFFMpegPipe

    struct GstFFMpegPipe {
      /* lock for syncing */
      GMutex tlock;
      /* with TLOCK */
      /* signals counterpart thread to have a look */
      GCond cond;
      /* seen eos */
      gboolean eos;
      /* flowreturn obtained by src task */
      GstFlowReturn srcresult;
      /* adpater collecting data */
      GstAdapter *adapter;
      /* amount needed in adapter by src task */
      guint needed;
    };