mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
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)
This commit is contained in:
parent
03733a2d28
commit
e91b76790c
3 changed files with 948 additions and 131 deletions
23
ChangeLog
23
ChangeLog
|
@ -1,3 +1,26 @@
|
|||
2006-08-23 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* 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)
|
||||
|
||||
2006-08-22 Tim-Philipp Müller <tim at centricular dot net>
|
||||
|
||||
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue