• Tim-Philipp Müller's avatar
    rtph264depay: simplify buffer accumulation control flow · a68a7fb6
    Tim-Philipp Müller authored
    There is no difference between pushing out a buffer directly
    with gst_rtp_base_depayload_push() and returning it from the
    process function. The base class will just call _depayload_push()
    on the returned buffer as well.
    
    So instead of marshalling buffers through three layers and back,
    just push them from one place in handle_nal() and always return
    NULL from the process vfunc. This simplifies the code a little.
    
    Also rename _push_fragmentation_unit() to _finish_fragmentation_unit()
    for clarity. Push sounds like it means being pushed out, whereas
    it might just be pushed into an adapter.
    
    This change has the side-effect that multiple NALs in a single STAP
    (such as SPS/PPS) may no longer be pushed out as a single buffer if
    we output NALs in byte-stream format (i.e. not aggregate AUs), but
    that shouldn't really make any difference to anyone.
    a68a7fb6
gstrtph264depay.c 37.8 KB