[gstreamer-bugs] [Bug 351495] [wavpackparse] add support for push-based mode

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Aug 15 13:30:08 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=351495
 GStreamer | gst-plugins-bad | Ver: HEAD CVS


Tim-Philipp Müller changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #70958|none                        |committed
               Flag|                            |
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
            Summary|[PATCH] Add support for     |[wavpackparse] add support
                   |push-based mode to          |for push-based mode
                   |wavpackparse                |
   Target Milestone|HEAD                        |0.10.4




------- Comment #2 from Tim-Philipp Müller  2006-08-15 20:29 UTC -------
Cool, thanks for the patch.

Some comments:

 - EOS/FLUSH_STOP events will arrive on the _sink_ pad, not the source
   pad.

 - in push-mode we will receive a NEWSEGMENT event on the sink pad,
   most likely in BYTES format. We should just drop that, knowing
   that we will send our own TIME-based newsegment event later.  If
   we don't, then downstream will receive two newsegment events in
   different formats and things will go haywire (this will get more
   tricky when we add seeking in push-mode, but for now just
   dropping the event should do).

 - about the SEEKING query: it should return TRUE even if it knows
   that it's not seekable, that's information. It should return FALSE
   if it does not have the information to answer the query. Rewrote
   this a bit and shortened it by using gst_pad_query_duration(), also
   adding support for GST_FORMAT_DEFAULT.

 - in the chain function, we should ideally check for the wavpack
   marker in the header and re-sync (look for a new marker) if it's
   not there, especially after receiving a buffer with DISCONT flag.
   Something for the future, not absolutely required.


committed with above fixes:

 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>

        Patch by: Sebastian Dröge <slomo at circular-chaos.org>

        * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_class_init),
        (gst_wavpack_parse_reset), (gst_wavpack_parse_get_src_query_types),
        (gst_wavpack_parse_src_query),
        (gst_wavpack_parse_handle_seek_event),
        (gst_wavpack_parse_sink_event), (gst_wavpack_parse_init),
        (gst_wavpack_parse_create_src_pad),
        (gst_wavpack_parse_push_buffer), (gst_wavpack_parse_loop),
        (gst_wavpack_parse_chain), (gst_wavpack_parse_sink_activate),
        (gst_wavpack_parse_sink_activate_pull):
        * ext/wavpack/gstwavpackparse.h:
          Make wavpackparse also work in push-mode (not seekable yet though);
          some small clean-ups along the way; add support for SEEKING query
          and query types function. (#351495).


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list