After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 612282 - recombine: a simple module to recombine GstBuffers into larger ones
recombine: a simple module to recombine GstBuffers into larger ones
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other Linux
: Normal enhancement
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-03-09 11:34 UTC by Marc Leeman
Modified: 2018-01-25 12:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
C (7.60 KB, text/x-csrc)
2010-03-09 11:35 UTC, Marc Leeman
Details
H (1.12 KB, text/x-chdr)
2010-03-09 11:35 UTC, Marc Leeman
Details
C code (7.60 KB, text/x-csrc)
2010-03-24 13:48 UTC, Marc Leeman
Details
C code header (1.12 KB, text/x-chdr)
2010-03-24 13:49 UTC, Marc Leeman
Details

Description Marc Leeman 2010-03-09 11:34:18 UTC
[mleeman@bane gst-recombine-0.10.3]$ gst-inspect recombine
Factory Details:
  Long name:	Recombine GST Buffers
  Class:	Generic
  Description:	Recombine smaller GST buffers into larger ones
  Author(s):	Marc Leeman <marc.leeman@gmail.com>
  Rank:		none (0)

Plugin Details:
  Name:			recombine
  Description:		GStreamer Buffer Recombine
  Filename:		/usr/local/lib/gstreamer-0.10/libgstrecombine.so
  Version:		0.10.0.3
  License:		unknown
  Source module:	gst-recombine
  Binary package:	Barco
  Origin URL:		http://www.barco.com/

GObject
 +----GstObject
       +----GstElement
             +----GstRecombine

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      ANY

  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_element_change_state_func
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities.

Pads:
  SRC: 'src'
    Implementation:
    Pad Template: 'src'
  SINK: 'sink'
    Implementation:
      Has chainfunc(): gst_recombine_chain
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: null Current: "recombine0"
  size                : Maximum buffer size
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 16777216 Default: 0 Current: 0
Comment 1 Marc Leeman 2010-03-09 11:35:13 UTC
Created attachment 155632 [details]
C
Comment 2 Marc Leeman 2010-03-09 11:35:45 UTC
Created attachment 155634 [details]
H
Comment 3 Tim-Philipp Müller 2010-03-09 11:54:54 UTC
Moving to -bad, since that's where new elements usually get added.

I'm not entirely sure about the name, it might make sense in your envisaged usage context, but I think it'd be nice to have a 'buffer' or 'buf' in the name somewhere. And why 'the re-' prefix?

And since It seems very similar to nagling, maybe one should from the start think about other similar usage scenarios as well (not sure if that's useful or what that means exactly, just thinking out loud :)).
Comment 4 Marc Leeman 2010-03-09 12:11:27 UTC
You can name it to whatever you want; just add the name here so that I can adjust my bin :-)

the recombine is just a name since it was intended to 'recombine' the GstBuffers afer passing through mpegtsparse (that splits up to 188 byte buffers that cripples switches).

Don't know about nagling; but tried to get input in irc before writing this (/me hates doing double work).
Comment 5 Marc Leeman 2010-03-11 09:13:19 UTC
Maybe I should just rewrite it to something along the lines of bufresize; and enable splitting up in smaller buffers too; could possibly be slightly better when decoding streams with a low bitrate when multiple frames are in one network packet.
Comment 6 Marc Leeman 2010-03-24 13:48:44 UTC
Created attachment 156980 [details]
C code
Comment 7 Marc Leeman 2010-03-24 13:49:33 UTC
Created attachment 156981 [details]
C code header
Comment 8 Marc Leeman 2010-03-24 13:51:52 UTC
renamed it to bufresize; only concat support atm.
Comment 9 Edward Hervey 2013-07-18 05:27:35 UTC
Does this element still make sense now that:
* tsparse no longer outputs very small buffers by default
* we have the new memory/buffer handling in 1.x
* it's only circumventing issues with elements that should be accumulating data in a better fashion
* we have an efficient adapter when you can get buffers with multiple gstmemory (instead of recombining (expensive) memory)

 ?