qtdemux

qtdemux — Demultiplex a QuickTime file into audio and video streams

Synopsis




                    GstQTDemux;

Signals


  "got-redirect"                                   

Description

Demuxes a .mov file into raw or compressed audio and/or video streams.

This element supports both push and pull-based scheduling, depending on the capabilities of the upstream elements.

Example launch line

gst-launch filesrc location=test.mov ! qtdemux name=demux  demux.audio_00 ! decodebin ! audioconvert ! audioresample ! autoaudiosink   demux.video_00 ! queue ! decodebin ! ffmpegcolorspace ! videoscale ! autovideosink

Play (parse and decode) a .mov file and try to output it to an automatically detected soundcard and videosink. If the MOV file contains compressed audio or video data, this will only work if you have the right decoder elements/plugins installed.

Last reviewed on 2006-12-29 (0.10.5)

Element Information

plugin quicktime
author David Schleef <ds@schleef.org>, Wim Taymans <wim@fluendo.com>
class Codec/Demuxer

Details

GstQTDemux

typedef struct {
  GstElement element;

  /* pads */
  GstPad *sinkpad;

  QtDemuxStream *streams[GST_QTDEMUX_MAX_STREAMS];
  gint     n_streams;
  gint     n_video_streams;
  gint     n_audio_streams;

  GNode *moov_node;
  GNode *moov_node_compressed;

  guint32 timescale;
  guint32 duration;

  gint state;

  gboolean pullbased;

  /* push based variables */
  guint neededbytes;
  guint todrop;
  GstAdapter *adapter;
  GstBuffer *mdatbuffer;

  /* offset of the media data (i.e.: Size of header) */
  guint64 offset;
  /* offset of the mdat atom */
  guint64 mdatoffset;

  GstTagList *tag_list;

  /* track stuff */
  guint64 last_ts;

  /* configured playback region */
  GstSegment segment;
  gboolean segment_running;
} GstQTDemux;

Signal Details

The "got-redirect" signal

void                user_function                      (GstQTDemux *gstqtdemux,
                                                        gchar      *arg1,
                                                        gpointer    user_data)

gstqtdemux : the object which received the signal.
arg1 :
user_data : user data set when the signal handler was connected.