Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use meson built in support for dependency to threads lib #10

Open
wants to merge 392 commits into
base: tulio/dcsctp
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Oct 23, 2022

  1. rtpfunnel: revert back to pexip version [pexhack]

    Revisit when we do all the final changes around rtpsession and writing
    of TWCC seqnums.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    9b07c30 View commit details
    Browse the repository at this point in the history
  2. rtpmanager/rtpsource: minor warning log fix

    Be a bit more consistent with how we log ssrcs
    camilo-celis authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    91514cc View commit details
    Browse the repository at this point in the history
  3. rtpptdemux: send lost-event to all pads

    ptdemux can't know which of the payloadtypes the lost-event is actually
    meant for, and taking a guess of it being the "previous" one is going
    to be wrong in many cases.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    bfd0be0 View commit details
    Browse the repository at this point in the history
  4. tests/rtpbin: add test for rtp and rtcp arriving simultaneously

    And some cleanup/warning fixes.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    f22c4a6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7a6dc66 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4e29484 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5fe85b0 View commit details
    Browse the repository at this point in the history
  8. vp9enc: disable VP9E_SET_COLOR_SPACE for now

    ...it crashes our libvpx...
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    ad9980a View commit details
    Browse the repository at this point in the history
  9. rtpvp8depay: upgrade to use custom meta (FIXUP)

    Need to sort out this mess later on!
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    eeca121 View commit details
    Browse the repository at this point in the history
  10. rtpmanager: add header-extension for Region of Interest.

    It will take the GstVideoRegionOfInterestMeta, and turn one
    of its specified types into a RTP header-extension.
    
    Co-authored-by: Camilo Celis Guzman <[email protected]>
    havardgraff and camilo-celis committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    850e6cf View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    382fedc View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    aeec498 View commit details
    Browse the repository at this point in the history
  13. rtph261depay: don't set the DELTA_UNIT flag for H.261

    Basically, all frames are "i-frames" here.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    26037c3 View commit details
    Browse the repository at this point in the history
  14. vpxenc: move temporal-scalability-layer to GValueArray

    Can't have a mix of GstValueArray and GValueArray here.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    221af44 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    90cb0dc View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3713ab5 View commit details
    Browse the repository at this point in the history
  17. SCTP: expose gi bindings

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    bdd30fc View commit details
    Browse the repository at this point in the history
  18. SCTP: expose gi bindings for send meta

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    3dd78af View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    91e8ca5 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d188d25 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    3120837 View commit details
    Browse the repository at this point in the history
  22. SCTP: change state on connection lost.

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    0ae9161 View commit details
    Browse the repository at this point in the history
  23. SCTP: change state on shutdown

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    8ecc85d View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    e04fa91 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    0b2ed54 View commit details
    Browse the repository at this point in the history
  26. SCTP: require lock to be held before changing state

    The state change function will release the lock before emitting
    the property change event and relock afterwards. This simplifies
    the flow of calling code dramatically.
    
    Co-authored-by: John-Mark Bell <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    7c9a53c View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    4d4a7a6 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    8c29204 View commit details
    Browse the repository at this point in the history
  29. SCTP: reset association when disconnected

    Co-authored-by: John-Mark Bell <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    935b3c3 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    bbed90a View commit details
    Browse the repository at this point in the history
  31. SCTP: expose a reconnect action

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    e08d7a7 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    1cc9afb View commit details
    Browse the repository at this point in the history
  33. SCTP: apply aggressive heartbeat using setsockopt

    Additionally, reduce the numbers.
    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    5449d2a View commit details
    Browse the repository at this point in the history
  34. SCTP: handle reconnect race

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    1acf79d View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    65b695f View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    0c7071d View commit details
    Browse the repository at this point in the history
  37. SCTP: shutdown stream sockets

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    99db846 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    829f50b View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    eab4545 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    bc1419a View commit details
    Browse the repository at this point in the history
  41. SCTP: add missing declaration

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    ef7cdd6 View commit details
    Browse the repository at this point in the history
  42. SCTP: track association validity

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    82232b3 View commit details
    Browse the repository at this point in the history
  43. SCTP: dispose associations

    Co-authored-by: John-Mark Bell <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    b27bf31 View commit details
    Browse the repository at this point in the history
  44. SCTP: unref association in dispose

    jmb202 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    c200d69 View commit details
    Browse the repository at this point in the history
  45. usrsctp: port pexip/usrsctp 'Fix deadlock during shutdown'

    commit a8b63ae927b6dddeeeae5d83803a0e8e1c7b2a3f
    Author: John Bassett <[email protected]>
    Date:   Tue May 21 18:23:05 2019 +0100
    
    Fix deadlock during shutdown
    
    Deadlock was caused by one thread calling close on a socket whilst another thread was blocked on a call to recvmsg. In this scenario the recv thread would wake up after the recvmsg had timed out but then attempt another read from the now closed socket. Normally this would result in an error, but if the file descriptor had been reused in the meantime the recvmsg call could end up blocking forever trying to read from the wrong fd.
    
    - Make sure the socket fds used are reset to -1 before closing to prevent other threads attempting to read from a socket that has already been closed.
    
    - Call shutdown on sockets before closing to guarantee other threads reading from the socket are unblocked immediately.
    
    - Check for return of 0 when reading from a socket to handle sockets that have been cleanly closed from another thread.
    thomas-pexip authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    b06de7a View commit details
    Browse the repository at this point in the history
  46. usrsctp: port pexip/usrsctp 'Forcibly cancel iterator thread'

    commit 3a3cb88c388919b9348b828becb8576a580eccc4
    Author: John-Mark Bell <[email protected]>
    Date:   Thu Aug 15 22:22:59 2019 +0100
    
    Forcibly cancel iterator thread
    thomas-pexip authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    ccf8cc9 View commit details
    Browse the repository at this point in the history
  47. usrsctp: port pexip/usrsctp 'Remove iterator thread'

    commit 7d050e2140efd73b408eecac5f4cede116b7f1f1
    Author: John-Mark Bell <[email protected]>
    Date:   Sat Aug 17 19:15:30 2019 +0100
    
    Remove iterator thread
    
    This is not necessary a world using AF_CONN only. Fix the one
    place where an iterator would be used to clean up directly in
    this case.
    thomas-pexip authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    65b2d89 View commit details
    Browse the repository at this point in the history
  48. usrsctp: port pexip/usrsctp 'init_random rename to init_usrsctp_rando…

    …m as conflicts with cPython bindings'
    
    commit ecf2de543c3157e507e9fc2e7c8319bc443ede39
    Author: Thomas Williams <[email protected]>
    Date:   Thu Jun 17 14:36:26 2021 +0100
    
    init_random rename to init_usrsctp_random as conflicts with cPython bindings
    thomas-pexip authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    3151696 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    0917f10 View commit details
    Browse the repository at this point in the history
  50. SCTP: retry after failure to bind with EADDRINUSE

    Co-authored-by: John-Mark Bell <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    68a77ab View commit details
    Browse the repository at this point in the history
  51. Configuration menu
    Copy the full SHA
    e727bea View commit details
    Browse the repository at this point in the history
  52. Configuration menu
    Copy the full SHA
    6607f26 View commit details
    Browse the repository at this point in the history
  53. Configuration menu
    Copy the full SHA
    285b53a View commit details
    Browse the repository at this point in the history
  54. Configuration menu
    Copy the full SHA
    4319b91 View commit details
    Browse the repository at this point in the history
  55. Configuration menu
    Copy the full SHA
    111de24 View commit details
    Browse the repository at this point in the history
  56. [pexhack] re-add gst_debug_syslog option

    Changes lost in monorepo merge; originally from
    7bbcd29
    w-miller authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    72649e8 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    fa474f6 View commit details
    Browse the repository at this point in the history
  58. Configuration menu
    Copy the full SHA
    2cb91c8 View commit details
    Browse the repository at this point in the history
  59. gstreamer/harness: make pull timesout configurable

    Although 60 seconds is often enough, we have seen cases where
    the harnessed pipeline could taken longer than that to process a buffer.
    
    This is especially true when we run under additional tools like Valgrind
    or Debug builds.
    camilo-celis authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    7e6b9f7 View commit details
    Browse the repository at this point in the history
  60. rtprtxsend: add "limiting" and "stuffing"

    For "limiting" this means using the token bucket algorithm, allowing
    a sender to control the bitrate being consumed by rtx-packets,
    in case of an "out-of-control" receiver asking for way too much packets.
    
    'max-kbps' sets the maximum kilobit per second that the RTX element will
    give out based on requests, limiting the ability for a receiver to
    congest the available network bandwidth.
    
    'max-bucket-size' is related to the token bucket algorithm, and will
    allow control of the "burstiness" of the RTX requests, preventing a huge
    spike in the network.
    
    For "stuffing" this means adding RTX packets as stuffing to
    meet the total target bitrate 'stuffing-kbps'. There are cases when
    output rate sent on the network needs to be near constant, but the
    media isn't (Encoders producing variable bitrates)
    
    Also, for probing the network for available bitrate, the stuffing
    can be used to create redundant information at a certain bitrate.
    
    Co-authored-by: Tulio Beloqui <[email protected]>
    Co-authored-by: Stian Selnes <[email protected]>
    3 people committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    56b7ddf View commit details
    Browse the repository at this point in the history
  61. Configuration menu
    Copy the full SHA
    9f38255 View commit details
    Browse the repository at this point in the history
  62. [pexhack] rtphdrextroi: tmp support of multiple roi-types

    Squashed commit of the following:
    
    commit c2e3ed1
    Author: Camilo Celis Guzman <[email protected]>
    Date:   Tue Nov 2 22:30:12 2021 +0900
    
        rtphdrextroi: correct max. number of roi-types
    
    commit ac3c6c4
    Author: Camilo Celis Guzman <[email protected]>
    Date:   Fri Oct 29 23:00:14 2021 +0900
    
        rtphdrextroi: add test for multiple roi-types
    
    commit 1fd0bc8
    Author: Camilo Celis Guzman <[email protected]>
    Date:   Thu Oct 28 19:42:04 2021 +0900
    
        rtphdrextroi: WIP: multiple roi-types support
    
    commit 4b9f2d8
    Author: Camilo Celis Guzman <[email protected]>
    Date:   Thu Oct 28 17:19:57 2021 +0900
    
        rtphdrextroi: add test for case of multiple RoI metas with the same roi-type
    
        The expected behaviour is that only one of them is payloaded
    
    commit b17f460
    Author: Camilo Celis Guzman <[email protected]>
    Date:   Thu Oct 28 17:03:55 2021 +0900
    
        rtphdrextroi: make roi-type construct only
    camilo-celis authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    6d29786 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    f131923 View commit details
    Browse the repository at this point in the history
  64. check: Fix valgrid suppresion for debug function list

    Fix suppresion to support release and debug builds.
    
    Here is debug build call stack:
    ```
    ==10707==    by 0x48B5520: g_malloc (gmem.c:106)
    ==10707==    by 0x48D19DC: g_slice_alloc (gslice.c:1069)
    ==10707==    by 0x48D3947: g_slist_copy_deep (gslist.c:619)
    ==10707==    by 0x48D38B8: g_slist_copy (gslist.c:567)
    ==10707==    by 0x4ADC90B: gst_debug_remove_with_compare_func (gstinfo.c:1504)
    ```
    
    In release build `g_slist_copy (gslist.c:567)` got inlined:
    ```
    ==15419==    by 0x48963E0: g_malloc (gmem.c:106)
    ==15419==    by 0x48AA382: g_slice_alloc (gslice.c:1069)
    ==15419==    by 0x48AB732: g_slist_copy_deep (gslist.c:619)
    ==15419==    by 0x4A39B8F: gst_debug_remove_with_compare_func (gstinfo.c:1504)
    ```
    amberik1 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    d10dfdd View commit details
    Browse the repository at this point in the history
  65. Configuration menu
    Copy the full SHA
    bdde997 View commit details
    Browse the repository at this point in the history
  66. gstvideodecoder: set all-headers to TRUE in the GstForceKeyUnit when

    doing a sync point request
    
    all_headers set to FALSE stops the FIR request in gstrtpsession.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    36dd564 View commit details
    Browse the repository at this point in the history
  67. Configuration menu
    Copy the full SHA
    9df5b9f View commit details
    Browse the repository at this point in the history
  68. gstglcolorconver: only set target target texture if any

    Prevents logical error as if defined as a stack variable it could contain
    garbage data if uninitialized.
    camilo-celis authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    0e00c92 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    9baf1cf View commit details
    Browse the repository at this point in the history
  70. meson: [msvc] only add warnings 4013, 4101 and 4189 if glib_checks is

    disabled
    
    If the checks are not built, it will leave behind some "unused"
    variables, so this warnings will always trigger.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    52268d8 View commit details
    Browse the repository at this point in the history
  71. Configuration menu
    Copy the full SHA
    593595c View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    0ab7d19 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    6066aa7 View commit details
    Browse the repository at this point in the history
  74. libcheck: use SIGABRT instead of SIGKILL on timeout

    This allows user-level signal handler to catch this
    
    Co-authored-by: Frederik Vestre <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    ae95a29 View commit details
    Browse the repository at this point in the history
  75. Configuration menu
    Copy the full SHA
    f8f9a09 View commit details
    Browse the repository at this point in the history
  76. androidmedia: PEXHACK comment out camera properties

    Ørjan Bostad Vesterlid authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    05f84e5 View commit details
    Browse the repository at this point in the history
  77. androidmedia: added gstacamdeviceprovider

    Enables device enumeration and monitor using the ACameraManager API
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    8c787bb View commit details
    Browse the repository at this point in the history
  78. Configuration menu
    Copy the full SHA
    5e84e1a View commit details
    Browse the repository at this point in the history
  79. SCTPDec: don't unref NULL association

    The association can be NULL if the element was never started, or if the
    association ID was already in use. Be symmetrical with SCTPEnc and check
    this.
    w-miller authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    3d53270 View commit details
    Browse the repository at this point in the history
  80. gstamdeviceprovider: fixed a race condition in which the callback would

     execute regardless of the provider being stopped.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    2a21d75 View commit details
    Browse the repository at this point in the history
  81. applemedia/vtenc: fix deadlock

    Calling destroy_session() without first calling finish() deadlocks almost
    every time, due to the explanation given in gst_vtenc_finish_encoding()
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    63cadcf View commit details
    Browse the repository at this point in the history
  82. SCTP: moving the removal of the associations from dispose() to finali…

    …ze()
    
    - Decrementing number_of_associations in dispose() can be troublesome, as
    as per documentation, the dispose function can be called many times.
    - Also removed extra check if dispose is present, as parent class (GObject)
     ensures it is available.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    846c9b2 View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    a48937f View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    ab38595 View commit details
    Browse the repository at this point in the history
  85. gstpad: gst-indent

    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    cdb83e1 View commit details
    Browse the repository at this point in the history
  86. gstpad: PEXHACK: log chain(list)funcs that take longer than 100ms

    Remove this before releasing please
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    9434083 View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    ebe3f59 View commit details
    Browse the repository at this point in the history
  88. amcvideoenc: fix mess around level and profile for H.264

    Also specify the alignment as part of caps always.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    7ad6b42 View commit details
    Browse the repository at this point in the history
  89. Configuration menu
    Copy the full SHA
    786c51f View commit details
    Browse the repository at this point in the history
  90. vpxenc: FIXME: revert upstream changes

    These made one of our vpx test fail.
    GST_DEBUG=*vp*:LOG GST_CHECKS=vpx_enc_rate_limit_key_frames python3 /pexip/external/meson/meson.py test vpx -vv
    
    Look into why and how more closely!
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    e9058c6 View commit details
    Browse the repository at this point in the history
  91. Configuration menu
    Copy the full SHA
    2d42e81 View commit details
    Browse the repository at this point in the history
  92. Configuration menu
    Copy the full SHA
    1ae1695 View commit details
    Browse the repository at this point in the history
  93. rtpsession: don't report same stats twice

    The notify is already on a timer, and notifying again outside this
    breaks the contract of not receiving more stats.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    9eab3d2 View commit details
    Browse the repository at this point in the history
  94. SCTP: fixing pthread_mutex_destroy call on a destroyed mutex

    The initialization of the iterators locks depended on SCTP_ITERATOR
    definition, but sctp_pcb_finish() calls destroy on them without that check.
    
    Note that also these locks are accessed without any check on SCTP_ITERATOR
    so doing the initialization here fixes that problem too.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    08cb9f0 View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    e9eeba7 View commit details
    Browse the repository at this point in the history
  96. Configuration menu
    Copy the full SHA
    46e1288 View commit details
    Browse the repository at this point in the history
  97. SCTP: refactoring encoder and decoder

    - Move the cast macro to do a basic cast instead of check gtype instance
     as that one access a global lock.
    - Configure and cleanup the sctp association only on state change from
     NULL->READY and READY->NULL.
    - Moved the start/stop of the srcpad task in the activate_mode function,
    rather than the state change. This fixes the task thread accessing invalid
    data.
    
    Co-Authored-By: Håvard Graff <[email protected]>
    2 people authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    83e8e04 View commit details
    Browse the repository at this point in the history
  98. SCTP: fixed race condition and memory leak

    gst_sctp_association_get can call g_object_ref on a destroyed sctp association
    because the unref calls do not hold the associations_lock.
    To solve this we add an API to unref the association while holding the lock.
    
    Moved the calls to usrsctp_init/finish to get/unref() respectively to
    not depend on GObjects behavior, keep the counting of the associations in
    the init/finalize.
    
    Also added g_hash_table_destroy() calls to the association hash table after
    the last association is destroyed.
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    419fd4e View commit details
    Browse the repository at this point in the history
  99. gstelement: do not hold the element lock when activating the pad in

    gst_element_add_pad()
    
    - Fixes a deadlock in which we will hold the lock inside
    gst_element_add_pad() and then later in gst_element_post_message_default().
    This is triggered by calling gst_pad_start_task() from the pads
    activate_mode() function.
    
    (cherry picked from commit 22cc976)
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    e876bbe View commit details
    Browse the repository at this point in the history
  100. SCTP: add the srcpad to the sctpdec element before activing it

    This fixes a potential NULL access on the pads parent inside
     gst_sctp_data_srcpad_loop
    
    (cherry picked from commit fc409b9)
    tbeloqui authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    063c345 View commit details
    Browse the repository at this point in the history
  101. Configuration menu
    Copy the full SHA
    5e0fed2 View commit details
    Browse the repository at this point in the history
  102. Configuration menu
    Copy the full SHA
    4b9f5dd View commit details
    Browse the repository at this point in the history
  103. Configuration menu
    Copy the full SHA
    bdcbfd2 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    aa1f907 View commit details
    Browse the repository at this point in the history
  105. Configuration menu
    Copy the full SHA
    c737130 View commit details
    Browse the repository at this point in the history
  106. rtpjitterbuffer: Default do-lost to TRUE for rtpjitterbuffer [pexhack]

    Just for convenience
    haaspors authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    a86619c View commit details
    Browse the repository at this point in the history
  107. Revert "rtpjitterbuffer: Ensure to not take caps with the wrong pt fo…

    …r getting the clock-rate"
    
    This reverts commit 608b4ee.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    bf9827b View commit details
    Browse the repository at this point in the history
  108. Configuration menu
    Copy the full SHA
    ca55ad0 View commit details
    Browse the repository at this point in the history
  109. rtpjitterbuffer: rtspsrc: Rename seqnum-base caps field to seqnum-offset

    RTP caps from payloaders use seqnum-offset, hence the jitterbuffer
    should use the same. Same for rtspsrc.
    haaspors authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    408e689 View commit details
    Browse the repository at this point in the history
  110. rtpjitterbuffer: improve calculation of jitter and add more stats

    Given a constant source of jitter, the total-avg-jitter will be the
    "correct" amount of jitter experienced.
    
    Comparing this number to the running average for many long-running tests,
    having a slightly larger window seems to approximate the jitter much
    better.
    
    In addition we avoid weighting 0 too much when the initial calculations
    are done by ramping up the window and not counting the very first
    measurement.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    00328bd View commit details
    Browse the repository at this point in the history
  111. rtpjitterbuffer: Optimize stats by caching quarks

    To avoid the GQuark global lock per entry.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    70d541e View commit details
    Browse the repository at this point in the history
  112. Configuration menu
    Copy the full SHA
    2d740fc View commit details
    Browse the repository at this point in the history
  113. rtpjitterbuffer: don't calculate packet-rate for jumping seqnums

    As demonstrated by the test, you can end up in situations where
    your packet-rate gets insanly high, and you produce thousands of RTX-timers
    /lost events, when the big-gap logic is there to prevent exactly that.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    289ac2b View commit details
    Browse the repository at this point in the history
  114. rtpjitterbuffer: add failing test that reproduces a stall

    So what happens here is that at some point we receive packet #10508,
    which triggers the big gap logic, placing that buffer inside the
    gap_packets GList:
    gst_rtp_jitter_buffer_chain: expected #10529, got #10508, gap of -21
    handle_big_gap_buffer: buffer too old -21 < -20, first one - waiting
    
    Then packet #10550 arrives:
    gst_rtp_jitter_buffer_chain: expected #10530, got #10550, gap of 20
    
    This causes too many timers to be pending, causing a reset:
    gst_rtp_jitter_buffer_chain: 182 pending timers > 180 - resetting
    gst_rtp_jitter_buffer_reset:< flush and reset jitterbuffer
    
    Inside the reset() code, the next_seqnum is set to the first buffer
    in gap_packets, #10508:
    gst_rtp_jitter_buffer_reset: setting next_seqnum to #10508
    
    And reset() calls chain() with all its gap_packets, pushing it out:
    gst_rtp_jitter_buffer_chain: Received packet #10508 at time 123:45:05.364650711, discont 0, rtx 1
    
    However, #10508 is actually an RTX packet, so it gets dropped:
    gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Unsolicited RTX packet #10508 detected, dropping
    
    Next #10550 is pushed from reset():
    gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> Received packet #10550 at time 123:45:05.516136868, discont 0, rtx 0
    
    But because next_seqnum is set to #10508, we get this:
    handle_next_buffer: Sequence number GAP detected: expected 10508 instead of 10550 (42 missing)
    
    So now the jitterbuffer is completely stalled, all buffer arriving now will
    just queue up until it sees the promised #10508, which will be ~65000
    packets from now, and we will trigger the "full" logic before then,
    causing a deadlock.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    863e22e View commit details
    Browse the repository at this point in the history
  115. rtpjitterbuffer: remove reset-on-many-timers

    Too dangerous.
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    190f6e6 View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    5b4754d View commit details
    Browse the repository at this point in the history
  117. Configuration menu
    Copy the full SHA
    7284f57 View commit details
    Browse the repository at this point in the history
  118. rtpjitterbuffer: fixing ulpfec packets used in pts and skew calculati…

    …ons.
    
    Co-authored-by: Håvard Graff <[email protected]>
    tbeloqui and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    60b199b View commit details
    Browse the repository at this point in the history
  119. Configuration menu
    Copy the full SHA
    b39a2b6 View commit details
    Browse the repository at this point in the history
  120. gstrtpjitterbuffer: Improve avg_jitter calculation.

    Ignore sequential packets with the same rtp time stamp during jitter
    estimation.
    amberik1 authored and havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    eb68f14 View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    9c8ef95 View commit details
    Browse the repository at this point in the history
  122. PEXHACK: revert gstvideorate to old version

    This to unbreak simulcast tests
    havardgraff committed Oct 23, 2022
    Configuration menu
    Copy the full SHA
    a6ee00d View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2022

  1. Configuration menu
    Copy the full SHA
    2e01bfd View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2022

  1. Configuration menu
    Copy the full SHA
    d56b7aa View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2022

  1. Configuration menu
    Copy the full SHA
    7472535 View commit details
    Browse the repository at this point in the history
  2. gstamcvideoenc: avoid flushing the encoder twice if we have already f…

    …lushed
    
    - Fixes a java exception of flushing the encoder in an ilegal state
    tbeloqui committed Nov 1, 2022
    Configuration menu
    Copy the full SHA
    180da6f View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2022

  1. Configuration menu
    Copy the full SHA
    0943cbc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a9fd896 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. good/jitterbuffer: initialize SSRC on RTCP chain method

    It is possible to log out an uninitialized SSRC.
    Reported as by clang's scan build.
    camilo-celis committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    0e5b1fb View commit details
    Browse the repository at this point in the history
  2. gstvalue/test: initialize unset string

    It is possible to do a comparison when the ASSERT checks are disabled
    camilo-celis committed Nov 17, 2022
    Configuration menu
    Copy the full SHA
    9995bb6 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2022

  1. Configuration menu
    Copy the full SHA
    3c7dcac View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2022

  1. Configuration menu
    Copy the full SHA
    8a36826 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2022

  1. Configuration menu
    Copy the full SHA
    09b8049 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    cb30324 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2022

  1. SCTP: build with invariants checks in

    To help debug memory bugs
    tbeloqui committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    2de52d4 View commit details
    Browse the repository at this point in the history
  2. SCTP: added null checks

    tbeloqui committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    6f36269 View commit details
    Browse the repository at this point in the history
  3. SCTP: cleaned up code in gst_sctp_association_change_state

    Changed code to have gst_sctp_association_change_state() and unlocked()
    version.
    tbeloqui committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    cbff58d View commit details
    Browse the repository at this point in the history
  4. SCTP: applied gst-indent

    tbeloqui committed Dec 19, 2022
    Configuration menu
    Copy the full SHA
    c173e47 View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2022

  1. SCTP: ensure thread-safe access in gst_sctp_association_reset_stream

    We need to ensure that members like state, sctp_assoc_id and sctp_ass_sock
    are accessed with a lock.
    tbeloqui committed Dec 22, 2022
    Configuration menu
    Copy the full SHA
    483e1f2 View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2023

  1. SCTP: access sctp_ass_sock with a lock in gst_sctp_association_send_data

    To be consistent with the rest of the code.
    tbeloqui committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    258c2a0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fddc320 View commit details
    Browse the repository at this point in the history
  3. SCTP: replace g_object_bind_property with g_object_set

    This fixes a very nasty double-free on the SCTP association in
    which a SCTP association weak-reference will be dangling around and the
    elements unref() will land in an unlocked gst_sctp_association_finalize() call.
    
    Other changes:
    
    - Added locking around the SCTP association in both encoder and decoder.
    - Added ref() API to the SCTP association, to be consistent with unref().
    - Calling SCTP associations API with a ref() of the current association
    to safely avoid finalizing a last reference.
    - Moved maybe_set_state_to_ready to an unlocked() version, since in the
    contexts it is called there is no need to release and acquire the lock.
    tbeloqui committed Jan 2, 2023
    Configuration menu
    Copy the full SHA
    fda49d5 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2023

  1. Configuration menu
    Copy the full SHA
    94d85da View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1adde14 View commit details
    Browse the repository at this point in the history
  3. rtptwcc: handle reordered packets within the same report-interval

    No need to treat them as lost when we can accurately report the reordering
    in the TWCC feedback message.
    havardgraff committed Jan 3, 2023
    Configuration menu
    Copy the full SHA
    0b1ba8d View commit details
    Browse the repository at this point in the history
  4. rtptwcc: mimic chrome behavior in reporting reordered packets

    Basically being able to jump "back" and report older seqnums, as well
    as reporting the same packet multiple times.
    havardgraff committed Jan 3, 2023
    Configuration menu
    Copy the full SHA
    d60a9d6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b9bf7fb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    779bc8f View commit details
    Browse the repository at this point in the history
  7. rtptwcc: big refactoring

    * introduce a configurable window in which to compute various stats
    * bugfixes in the twcc report generating code
    * optimizations around using less lists of packets
    * much improved handling of reordered packets
    havardgraff committed Jan 3, 2023
    Configuration menu
    Copy the full SHA
    f1d9900 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2023

  1. rtptwcc: fixing leaks

    tbeloqui committed Jan 4, 2023
    Configuration menu
    Copy the full SHA
    60f798b View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2023

  1. Configuration menu
    Copy the full SHA
    ceea6d7 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. Configuration menu
    Copy the full SHA
    d2d4c9f View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2023

  1. Configuration menu
    Copy the full SHA
    59fdbac View commit details
    Browse the repository at this point in the history
  2. SCTP: refactor to fix encoder use-after-free bug

    Because of the nature of not having a clear ownership between the association
    and the elements (encoder or decoder) is not possible to rely on the
    associations signals to have a valid reference on the encoder.
    This also applies for the decoder.
    
    Since g_signal_connect_object is not thread-safe (more on this in the documentation)
    and we can't hold the association mutex while emitting a signal, it is
    completely possible -as our stress tests demonstrate- that we ran into data
    races.
    
    To fix this situation, I introduce proper callback structures per element
    context and inside the association we always keep a reference to the element
    while calling the related callback.
    tbeloqui committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    0c04553 View commit details
    Browse the repository at this point in the history
  3. rtptwcc: update with scan-build fixes

    (cherry picked from commit 1550d22)
    havardgraff authored and tbeloqui committed Feb 6, 2023
    Configuration menu
    Copy the full SHA
    9729feb View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2023

  1. rtptwcc: use the same size-per-packet as on the wire

    Comparing with wireshark, this gives the correct size per packet on
    the wire vs. what is used internally.
    
    Also add the original RTP sequence-number to the logging for easy
    correlation.
    havardgraff committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    1b0d273 View commit details
    Browse the repository at this point in the history
  2. rtprtxsend: introduce stuffing-max-burst-packets and use padding

    In order to limit the amount of packets that is used for stuffing,
    we both introduce a hard limit of how many packets a "burst" can consist
    of, but also use padding to make packets slightly bigger, and hence reduce
    the need to send quite so many.
    havardgraff committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    6a9c397 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2023

  1. funnel: only forward events on active pads

    IF we are going to forward events on non-active pads, we need to send
    our sticky events prior to this event to make it valid.
    
    However, this will lead to the situation of getting a caps change
    downstream for any event being received on either pad in the funnel.
    
    In the case of a decoder sitting downsstream, this would mean potentially
    replacing that decoder on a caps-change, meaning an "irrelevant" event
    received on a non-active pad would cause a decoder to lose all state,
    potentially needing an I-frame or similar.
    havardgraff committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    729695c View commit details
    Browse the repository at this point in the history

Commits on Mar 1, 2023

  1. Revert "rtpjitterbuffer: DTX implementation"

    This reverts commit 7284f57.
    tbeloqui committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    c944289 View commit details
    Browse the repository at this point in the history
  2. gstaudiodecoder: implemented DTX API

    Subclasses can now start DTX by calling gst_audio_decoder_start_dtx(),
    this will spawn a task on the decoders srcpad and generate silent buffers
    until a new audio packet or a gap event arrives.
    An API for checking if the decoder is running DTX has been also added
    in case subclasses need context.
    tbeloqui committed Mar 1, 2023
    Configuration menu
    Copy the full SHA
    62afe0a View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. rtptwcc: fixed wrap-around bug in the tx feedback code

    This bug stops us from updating the "send" timestamp for sent packets
    and cause the log to be spammed with warnings for each packet in cases where
    the receiver stops sending us the twcc feedback report.
    
    (cherry picked from commit 2749324)
    tbeloqui committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    69e35cc View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2023

  1. rtpjitterbuffer: new packet spacing heuristic

    - use RTP time instead of pts, the former is based on the sender clock
      and so provides a more precise metric.
    - instead of averaging spacings, update the packet spacing when we
      receive two consecutive identical spacings, discarding decreasing RTP
      times.
    
    This new heuristic should provide a more precise and constant packet
    spacing on audio streams.
    It will allow us to support discontinuous transmission (DTX) as the large
    spacings introduced by DTX will no longer increase the actual packet
    spacing.
    
    Co-Authored-By: Tulio Beloqui <[email protected]>
    (cherry picked from commit f68e9b9)
    Guillaume Desmottes authored and tbeloqui committed Mar 17, 2023
    Configuration menu
    Copy the full SHA
    fd45849 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. SCTP: do not assert on the decoders pad, as the association might be

    disconnecting when on_receive() is called from usrsctplib
    
    (cherry picked from commit b50426e)
    tbeloqui committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    ac8fe87 View commit details
    Browse the repository at this point in the history
  2. SCTP: changes to handle usrsctp bugs

    Workaround for sctplab/usrsctp#405:
    - Since the sctp socket can outlive the sctp assoacition, we need to only
    register/deregister the association when creating/closing the socket.
    This prevents invalid calls to sctp_packet_out() and receive_cb()
    in potential invalid states.
    
    Workaround for sctplab/usrsctp#383:
    - Retry usrsctp_finish() for 5seconds. This fixes a race condition between
    usrsctp_close() and usrsctp_finish() in which a dead socket will be accessed
    by the SCTP thread.
    
    (cherry picked from commit 9cf8ac2)
    tbeloqui committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    e655834 View commit details
    Browse the repository at this point in the history
  3. SCTP: removed extra assertion on association id

    The ID can be zero.
    tbeloqui committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    74f381c View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2023

  1. SCTP: do not hold the association mutex when calling GstSctpAssociati…

    …onPacketReceivedCb
    
    Follow a consistent pattern when executing callbacks in handle_message().
    tbeloqui committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    a120437 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2023

  1. Revert "SCTP: do not hold the association mutex when calling GstSctpA…

    …ssociationPacketReceivedCb"
    
    This reverts commit a120437.
    
    We might not need this change after all.
    tbeloqui committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    ab2b82b View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2023

  1. rtpjitterbuffer: test for non-utf8 cname

    Co-authored-by: John Bassett <[email protected]>
    (cherry picked from commit 03e16b7)
    havardgraff authored and johnbassett committed Apr 27, 2023
    Configuration menu
    Copy the full SHA
    3f0b4fd View commit details
    Browse the repository at this point in the history

Commits on May 5, 2023

  1. rtpvp8pay, rtpvp9pay: small refactor around PictureID

    A set of unrelated but minor changes to VP8 and VP9 payloaders:
    VP8:
    - avoid resetting PictureID if NO_PICTURE_ID mode is set.
    
    VP9:
    - minor refactor of PictureID logic to bring the logic in line with the vp8pay.
    - add picture-id-offset property.
    - remove unused struct and variable on a test.
    
    VPX:
    - rename PictureID enum to be more inline with each other.
    - add picture-id property.
    - increment rather than resetting the PictureID on a FLUSH_START to maximize interop.
    
    Squashed commit of the following (upstream):
      commit 0cee3cd
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Thu May 4 02:41:09 2023 +0900
    
          rtpvp8pay: rtpvp9pay: access picture_id property atomically
    
          Atomically set and get the picture_id. This changeset only atomically gets
          the picture-id when such property is queried on the element, on every other
          place where it is accessed internally it is accessed directly.
    
          This is because there is no MT scenario where we would be modifying this value
          and reading it internally in parallel.
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit e4d8cda
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Wed May 3 20:53:41 2023 +0900
    
          rtpvp8pay, rtpvp9pay: increment PictureID on FLUSH_START
    
          In recent versions of Chrome (M106) a change on their jitter buffer means that
          they are very susceptible to PictureID discontinuities.
    
          Then avoid at all cost resetting the PictureID. Moreover, according to
          the RFCs for VP8 and VP9 payloads; the PictureID can start off at any
          random value. So there is no logical problem of incrementing it here
          rather than resetting it, as long as it is a different PictureID.
    
          WebRTC's recent corruption issue:
          https://bugs.chromium.org/p/webrtc/issues/detail?id=15101
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit f159fd8
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Wed May 3 00:34:55 2023 +0900
    
          rtpvp8pay, rtpvp9pay: expose picture-id as a property
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit 38d5899
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Tue May 2 22:21:34 2023 +0900
    
          rtpvp9pay: tests: remove unused struct and argument on test
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit 11187a8
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Tue May 2 21:45:48 2023 +0900
    
          rtpvp9pay: add picture-id-offset property
    
          Bring the VP9 payloader in sync in this regard to the VP8 payloader
    
          Allowing setting the picture id to a known value is useful when testing.
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit 7cffb40
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Tue Apr 25 15:36:45 2023 +0900
    
          rtpvp9pay: minor refactor of PictureID logic
    
          This brings the logic inline with the vp8pay
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit a79616e
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Tue Apr 25 15:25:57 2023 +0900
    
          rtpvp8pay: avoid reseting PictureID if NO_PICTURE_ID mode is set
    
          There is no logical change here, as `& (1 << nbits) - 1` would produce also 0
          when NO_PICTURE_ID mode is choosen. However, this avoid computing a random
          integer that is actually unused.
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
      commit 7dd6375
      Author: Camilo Celis Guzman <[email protected]>
      Date:   Tue Apr 25 15:11:10 2023 +0900
    
          rtpvp8pay, rtpvp9pay: use GType like name for PictureIDMode
    
          Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4530>
    
    (cherry picked from commit 9814555)
    camilo-celis committed May 5, 2023
    Configuration menu
    Copy the full SHA
    8a46c90 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2023

  1. rtpopuspay: pass buffer offset to base_payload_push

    When using perfect-rtptime, rtpbasepayload needs to have access to
    buffer offsets to calculate the RTP timestamps.
    
    (cherry picked from commit 064bfba)
    (cherry picked from commit c2106ac)
    w-miller authored and camilo-celis committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    1a32a60 View commit details
    Browse the repository at this point in the history
  2. rtpbasedepayload: set default buffer offset based on RTP timestamp

    Set a default offset on buffers: the delta between this buffer's RTP
    timestamp and the first RTP timestamp. This can be used when forwarding
    (depayloading/repayloading) media for codecs without specific offset
    logic in their payloader subclasses (e.g. Opus). The default offset
    allows the symmetric payloader to reconstruct the original RTP timestamp
    deltas for its output RTP timestamps, rather than having to rely on the
    (potentially altered) buffer PTS.
    
    (cherry picked from commit a97f44f)
    (cherry picked from commit 52edb23)
    w-miller authored and camilo-celis committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    8f0a4ad View commit details
    Browse the repository at this point in the history
  3. rtpbasedepayload: test: correct order of fields

    The gist of the issue and fix are somewhat obscure and relate with
    how a buffer is mapped into before on different platforms.
    
    The test uses a va_args method to create, set and push an RTP buffer
    to the depayloader. However, due to the nature of the fields that can
    be set, and the use of the va_args. The ordering of this fields matter.
    This is because some of this fields are only set of a GstRTPBuffer
    and other are public GstBuffer properties.
    
    The problem lies when we set a GstRTPBuffer field, which requires a
    map of the buffer and **then** try to set a public property on
    the raw GstBuffer that has already been mapped!
    
    Fix this by:
    1). correct the order of fields set on the buffer.
    2). assert hard when trying to set a public property on the raw
        GstBuffer after it has been mapped.
    
    (cherry picked from commit 38571db)
    camilo-celis committed Jun 8, 2023
    Configuration menu
    Copy the full SHA
    d9885dd View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. vp8pay: dont store partition_size

    camilo-celis authored and w-miller committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    63005d8 View commit details
    Browse the repository at this point in the history
  2. vp8pay: introduce new property parse-frame

    Controls weather or not we would want to parse the bitstream in order to
    extract partition information, which is currently only used if no custom
    meta is present.
    camilo-celis authored and w-miller committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    78a6af4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    93c956e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    17ab430 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2023

  1. Configuration menu
    Copy the full SHA
    92e2997 View commit details
    Browse the repository at this point in the history
  2. check: compile libcompat when building statically

    ...or else we have to carry rt_lib as a dependency
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    19cfd7c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cb66fcc View commit details
    Browse the repository at this point in the history
  4. rtpsession: make an action-signal for requesting TWCC stats

    This should be squashed with the previous window-work for twcc, to avoid
    those size/delay properties ever being introduced.
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    a1f4cda View commit details
    Browse the repository at this point in the history
  5. rtptwcc: FIXUP for twcc-reorder patch

    With the reordering-patch, we started keeping the last packet of the
    previous report around IF there was any packetloss reported in the
    previous report, and then start the new report with this packet.
    
    We found that this is exactly what WebRTC are doing, and we decided to
    mimic their behavior here.
    
    However, ever since the big "reordering-patch" went in, we have seen
    some strange discrepancies around what the netsim bitrate have been
    set to drop, and what has *actually* been reported as dropped.
    
    After a long investigation, we found that the "missing_run" variable
    in the RecvPacket struct could have contained a number from the previous
    run, but no this number was no longer valid for the next report, BUT
    WAS STILL BEING USED!
    
    This basically means that we were encoding a wildly different set
    of packets than we actually intended (and actually received), and hence
    the discrepancies in bitrates...
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    fcbdd40 View commit details
    Browse the repository at this point in the history
  6. pexhack: do not use macos-bison-binary subproject

    A good enough version is available from macport. The version supplied by gstreamer is only for x86_64
    MichaelOultram-pexip authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    36c5a06 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7415949 View commit details
    Browse the repository at this point in the history
  8. glshader: unlock before notify, and use dispose instead of finalize

    To avoid deadlock when shutting down.
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    e9ea58d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a3b419c View commit details
    Browse the repository at this point in the history
  10. amcvideoenc: default to -1 as I_FRAME_INTERVAL_DEFAULT

    This will produce a single I-frame at the start and then after that only
    on request.
    
    This makes much more sense than "0", which means producing an I-frame
    for every single frame!
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    b50e077 View commit details
    Browse the repository at this point in the history
  11. amcvideoenc: various fixes

    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    3092c8c View commit details
    Browse the repository at this point in the history
  12. gstamc: various fixes

    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    dd72476 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    b9bfbc5 View commit details
    Browse the repository at this point in the history
  14. netsim: introduce throttling

    The idea is basically that every n second, we delay each packet within
    a X ms window, so that they all burst out at the same time at the end of
    that window, recreating a throttling effect for a network, but without
    actually losing any packets.
    havardgraff authored and camilo-celis committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    a2caee0 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    877a349 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a9271e8 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2023

  1. rtpvp8pay: don't payload partitions when forced not to parse the frame

    regression from 63005d
    
    (cherry picked from commit eb702a5)
    camilo-celis committed Jul 4, 2023
    Configuration menu
    Copy the full SHA
    2aa47be View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. audiodecoder: do not account for upstream latency when producing DTX …

    …packets
    
    - Removed the upstream latency as well, not needed anymore.
    tbeloqui committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    86d1d53 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0c93862 View commit details
    Browse the repository at this point in the history
  3. gstamcvideoenc: fixed minimum value for PROP_I_FRAME_INTERVAL_FLOAT

    Fixes g_param_spec_float: assertion
     'default_value >= minimum && default_value <= maximum' failed
    tbeloqui committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    0f38a87 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. applemedia/vtenc: reset the encoder session if we fail to encode a frame

    - kVTInvalidSessionErr: common if the application goes between fg and bg
    mode.
    
    - kVTVideoEncoderMalfunctionErr: if the encoder has an internal error.
    tbeloqui committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    aa35370 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    493bd28 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Configuration menu
    Copy the full SHA
    a4b2b14 View commit details
    Browse the repository at this point in the history
  2. gl+vulkan/cocoa: rename _invoke_on_main to allow gstreamer-full to build

    Having _invoke_on_main defined in separate plugins doesn't work if you
    want to built the statically.
    tbeloqui committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    5505cfe View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. Configuration menu
    Copy the full SHA
    f14ef2f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef66754 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2023

  1. Configuration menu
    Copy the full SHA
    d9b6e73 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2023

  1. vulkan: removed extra log

    tbeloqui committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    d6fcf4b View commit details
    Browse the repository at this point in the history
  2. vulkan: gstvkwindow_cocoa use _gst_vulkan_cocoa_invoke_on_main rather

    than dispatch_async on set_window_handle
    tbeloqui committed Sep 6, 2023
    Configuration menu
    Copy the full SHA
    7728fae View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2023

  1. vulkan: fixed main thread checker warning

    CreateMacOSSurface should only be called from the main thread.
    tbeloqui committed Sep 7, 2023
    Configuration menu
    Copy the full SHA
    8cdd248 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2023

  1. gstaes: fixed missing symbols and rework on dependencies

    In our dynamic build winsock2 symbols are missing.
    tbeloqui committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    d1db003 View commit details
    Browse the repository at this point in the history
  2. gstvkwindow: do not depend on close signal handlers to close the window

    gstvkwindow_cocoa: call close on the internal window
    
    Fixes window leak.
    tbeloqui committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    3ce91a7 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2023

  1. winks: rework on devices

    - Moved internal gst_ks_video_device_parse_win32_error into a common
    function ks_parse_win32_error to reuse and add more logging in other places.
    - Removed unused function gst_ks_video_src_get_device_name_values.
    - Removed priority list, it doesn't make much sense for cameras. By
    doing so we also fixed a strange issue with CreateFile failing on a second
    attempt.
    
    Co-Authored-By: Knut Saastad <[email protected]>
    tbeloqui and bitflows committed Sep 12, 2023
    Configuration menu
    Copy the full SHA
    3b42686 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. SCTP: acquire lock in gst_sctp_association_incoming_packet()

    To fix calling usrsctp_conninput() on a dead socket.
    
    user_socketvar.h: added KASSERT to make sure we do not try to reference
    a dead socket
    tbeloqui committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    de8447b View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2023

  1. Configuration menu
    Copy the full SHA
    cfcc705 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2023

  1. Configuration menu
    Copy the full SHA
    da7df33 View commit details
    Browse the repository at this point in the history
  2. dcSCTP: initial commit

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    abc12ab View commit details
    Browse the repository at this point in the history
  3. first meson lib version

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    b98e07d View commit details
    Browse the repository at this point in the history
  4. removed all unit tests

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    6b945e4 View commit details
    Browse the repository at this point in the history
  5. removed all BUILD.gn

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    a951ab7 View commit details
    Browse the repository at this point in the history
  6. removed mocks

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    f8e8529 View commit details
    Browse the repository at this point in the history
  7. removed DEPS

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    c4c8fd2 View commit details
    Browse the repository at this point in the history
  8. removed fuzzers

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    98d1876 View commit details
    Browse the repository at this point in the history
  9. updates to meson

    tbeloqui committed Sep 24, 2023
    Configuration menu
    Copy the full SHA
    e05f45d View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    daea53f View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Configuration menu
    Copy the full SHA
    adf6651 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. first building version

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    d204c51 View commit details
    Browse the repository at this point in the history
  2. started transport impl

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    206f648 View commit details
    Browse the repository at this point in the history
  3. removed more tests

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    1bd8e7a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a00e360 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b264084 View commit details
    Browse the repository at this point in the history
  6. base socket skeleton

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    9c97874 View commit details
    Browse the repository at this point in the history
  7. wip on socket + association

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    7d7e832 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9ab1ccd View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    743d551 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    71e1e55 View commit details
    Browse the repository at this point in the history
  11. more wip

    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    85cff5c View commit details
    Browse the repository at this point in the history
  12. moved sctpsocket layer into dcsctp lib itself

    So we don't have to involve C++ in gst land!
    
    Also, link dcsctp statically
    tbeloqui committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    bad7b7f View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2023

  1. continue with socket impl

    tbeloqui committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    0e567d3 View commit details
    Browse the repository at this point in the history
  2. restoring plugin build

    tbeloqui committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    8d885a8 View commit details
    Browse the repository at this point in the history
  3. make the decoder copy data for now

    to avoid mixing C++ and glib allocators
    tbeloqui committed Sep 28, 2023
    Configuration menu
    Copy the full SHA
    5f574b3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5b2de73 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. first working version!

    implemented timeouts
    single main loop for every sctp association
    associations lifetime is now only managed by the factory
    tbeloqui committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    9da94b0 View commit details
    Browse the repository at this point in the history
  2. updated license info

    tbeloqui committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    b620721 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. Configuration menu
    Copy the full SHA
    f2aaab7 View commit details
    Browse the repository at this point in the history
  2. added SctpSocket_Options

    - to enable aggressive-heartbeat
    tbeloqui committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    4eaac80 View commit details
    Browse the repository at this point in the history
  3. sctpassociation:

    - renamed gst_sctp_association_start to connect(), to keep consistency
    with disconnect
    - handling and logging SctpSocket_Error, closing the socket on error
    - configure the socket for aggressive-heartbeat, not quite working.. yet!
    tbeloqui committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    4b4889e View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2023

  1. Configuration menu
    Copy the full SHA
    253fcd1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d29c712 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6f19cd View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2023

  1. Configuration menu
    Copy the full SHA
    05903a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ab08edb View commit details
    Browse the repository at this point in the history
  3. sctp: fixup part 2

    tbeloqui committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    2b2460a View commit details
    Browse the repository at this point in the history
  4. Use meson built in support for dependency to threads lib

    -lpthread directly just didn't work on my setup.
    Using the meson built-in dependency seems to be the way other libs do
    it.
    JohanSternerup committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    9c05dd5 View commit details
    Browse the repository at this point in the history