## kateparse kateparse — parses kate streams |

## Synopsis

                        GstKateParse;

## Description

### Example pipelines

The kateparse element will parse the header packets of the Kate stream and put them as the streamheader in the caps. This is used in the multifdsink case where you want to stream live kate streams to multiple clients, each client has to receive the streamheaders first before they can consume the kate packets.

This element also makes sure that the buffers that it pushes out are properly timestamped and that their offset and offset_end are set. The buffers that kateparse outputs have all of the metadata that oggmux expects to receive, which allows you to (for example) remux an ogg/kate file.

    gst-launch -v filesrc location=kate.ogg ! oggdemux ! kateparse ! fakesink

This pipeline shows that the streamheader is set in the caps, and that each buffer has the timestamp, duration, offset, and offset_end set.

    gst-launch filesrc location=kate.ogg ! oggdemux ! kateparse \
               ! oggmux ! filesink location=kate-remuxed.ogg

This pipeline shows remuxing. kate-remuxed.ogg might not be exactly the same as kate.ogg, but they should produce exactly the same decoded data.

## Details

### GstKateParse

    typedef struct {
      GstElement element;

      GstPad *sinkpad;
      GstPad *srcpad;

      guint packetno;
      gboolean streamheader_sent;
      GList *streamheader;

      GQueue *event_queue;
      GQueue *buffer_queue;

      kate_info ki;
      kate_comment kc;
    } GstKateParse;

Opaque data structure.

## See Also

katedec, vorbisparse, oggdemux, theoraparse