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

1
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)

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;
  gint     n_sub_streams;

  guint  major_brand;
  GstBuffer *comp_brands;
  GNode *moov_node;
  GNode *moov_node_compressed;

  guint32 timescale;
  guint64 duration;

  gboolean fragmented;
  /* offset of the mfra atom */
  guint64 mfra_offset;
  guint64 moof_offset;

  gint state;

  gboolean pullbased;
  gboolean posted_redirect;

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

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

  GstTagList *tag_list;

  /* configured playback region */
  GstSegment segment;
  gboolean segment_running;
  GstEvent *pending_newsegment;

  /* gst index support */
  GstIndex *element_index;
  gint index_id;

  gint64 requested_seek_time;
  guint64 seek_offset;
} 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.