diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2006-08-23 15:33:47 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2006-08-23 15:33:47 +0000 |
commit | e91b76790cb2c23b09448d1bb4d6adbe54716add (patch) | |
tree | 7c5d34ff95f1de0703a863b5e0ba01015fa557a0 /gst/avi/gstavidemux.h | |
parent | 03733a2d28a698c81f3dc4862d0f566db0c29014 (diff) |
gst/avi/gstavidemux.*: Initial streaming support for avidemux (fixes #336465)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_dispose),
(gst_avi_demux_reset), (gst_avi_demux_index_next),
(gst_avi_demux_index_entry_for_time), (gst_avi_demux_src_convert),
(gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event),
(gst_avi_demux_peek_chunk_info), (gst_avi_demux_peek_chunk),
(gst_avi_demux_stream_init_push), (gst_avi_demux_stream_init_pull),
(gst_avi_demux_parse_subindex),
(gst_avi_demux_read_subindexes_push),
(gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream),
(sort), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_peek_tag),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(push_tag_lists), (gst_avi_demux_loop), (gst_avi_demux_chain),
(gst_avi_demux_sink_activate), (gst_avi_demux_activate_push),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Initial streaming support for avidemux (fixes #336465)
Diffstat (limited to 'gst/avi/gstavidemux.h')
-rw-r--r-- | gst/avi/gstavidemux.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h index bc14183f..25a4e162 100644 --- a/gst/avi/gstavidemux.h +++ b/gst/avi/gstavidemux.h @@ -1,5 +1,6 @@ /* GStreamer * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * Copyright (C) <2006> Nokia Corporation (contact <stefan.kost@nokia.com>) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -25,6 +26,7 @@ #include "avi-ids.h" #include "gst/riff/riff-ids.h" #include "gst/riff/riff-read.h" +#include <gst/base/gstadapter.h> G_BEGIN_DECLS @@ -102,6 +104,15 @@ typedef enum { GST_AVI_DEMUX_MOVI, } GstAviDemuxState; +typedef enum { + GST_AVI_DEMUX_HEADER_TAG_LIST, + GST_AVI_DEMUX_HEADER_AVIH, + GST_AVI_DEMUX_HEADER_ELEMENTS, + GST_AVI_DEMUX_HEADER_INFO, + GST_AVI_DEMUX_HEADER_JUNK, + GST_AVI_DEMUX_HEADER_DATA +} GstAviDemuxHeaderState; + typedef struct _GstAviDemux { GstElement parent; @@ -110,6 +121,7 @@ typedef struct _GstAviDemux { /* AVI decoding state */ GstAviDemuxState state; + GstAviDemuxHeaderState header_state; guint64 offset; /* index */ @@ -122,15 +134,20 @@ typedef struct _GstAviDemux { guint num_streams; guint num_v_streams; guint num_a_streams; + avi_stream_context stream[GST_AVI_DEMUX_MAX_STREAMS]; + /* for streaming mode */ + gboolean streaming; + gboolean have_eos; + GstAdapter *adapter; + /* some stream info for length */ gst_riff_avih *avih; /* segment in TIME */ GstSegment segment; gboolean segment_running; - gboolean streaming; /* pending tags/events */ GstEvent *seek_event; |