diff options
author | Jan Schmidt <thaytan@noraisin.net> | 2009-05-18 23:38:59 +0100 |
---|---|---|
committer | Jan Schmidt <thaytan@noraisin.net> | 2009-05-21 21:37:33 +0100 |
commit | b6e891bbdad221105daecdef83098a2585d0f039 (patch) | |
tree | d11750f2b71acfa436b9f4756a487a926c9e42c0 /ext/dts/gstdtsdec.h | |
parent | 3fb997111fcb3b7886e2879298afafe65eca1a49 (diff) | |
download | gst-plugins-bad-b6e891bbdad221105daecdef83098a2585d0f039.tar.gz gst-plugins-bad-b6e891bbdad221105daecdef83098a2585d0f039.tar.bz2 gst-plugins-bad-b6e891bbdad221105daecdef83098a2585d0f039.zip |
dtsdec: Reconcile element code with a52dec changes
Re-work the dtsdec element code to unify it with changes made it a52dec,
including support for reverse playback and dynamic channel negotiation
on the source pad.
Diffstat (limited to 'ext/dts/gstdtsdec.h')
-rw-r--r-- | ext/dts/gstdtsdec.h | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/ext/dts/gstdtsdec.h b/ext/dts/gstdtsdec.h index 5222c687..a7c8f718 100644 --- a/ext/dts/gstdtsdec.h +++ b/ext/dts/gstdtsdec.h @@ -43,15 +43,22 @@ struct _GstDtsDec { GstElement element; /* pads */ - GstPad *sinkpad; - GstPad *srcpad; + GstPad *sinkpad; + GstPad *srcpad; + GstSegment segment; + + gboolean dvdmode; + gboolean sent_segment; + gboolean discont; + gboolean flag_update; + gboolean prev_flags; /* stream properties */ - gint bit_rate; - gint sample_rate; - gint stream_channels; - gint request_channels; - gint using_channels; + gint bit_rate; + gint sample_rate; + gint stream_channels; + gint request_channels; + gint using_channels; /* decoding properties */ sample_t level; @@ -63,13 +70,14 @@ struct _GstDtsDec { #else dts_state_t *state; #endif - gboolean dvdmode; + /* Data left over from the previous buffer */ - GstBuffer *cache; - - /* keep track of time */ - GstClockTime current_ts; + GstBuffer *cache; + GstClockTime time; + + /* reverse playback */ + GList *queued; }; struct _GstDtsDecClass { |