Skip to content
Snippets Groups Projects
  1. Apr 20, 2018
  2. Apr 19, 2018
  3. Apr 18, 2018
  4. Apr 17, 2018
    • Joshua Colp's avatar
      bridge_softmix / app_confbridge: Add support for REMB combining. · 8de3fa2b
      Joshua Colp authored
      This change adds the ability for multiple REMB reports in
      bridge_softmix to be combined according to a configured
      behavior into a single report. This single report is sent
      back to the sender of video, which adjusts the encoding bitrate
      to be at or below the bitrate of the report. The available
      behaviors are: lowest, highest, and average. Lowest uses the
      lowest received bitrate. Highest uses the highest received
      bitrate. Average goes through the received bitrates adding
      them to the previous average and creates a new average.
      
      Other behaviors can be added in the future and the existing
      average one may be adjusted, but this provides the foundation
      to do so.
      
      Support for configuring which behavior to use has been
      added to app_confbridge.
      
      ASTERISK-27804
      
      Change-Id: I9eafe4e7c1f72d67074a8d6acb26bfcf19322b66
      8de3fa2b
    • Jenkins2's avatar
    • George Joseph's avatar
      utils: Add ast_assert_return · f7e7ce6b
      George Joseph authored
      Similar to pjproject's PJ_ASSERT_RETURN macro, this one will do the
      following...
      
      If the assert passes... NoOp
      
      If the assert fails and AST_DEVMODE is defined, execute ast_assert()
      then, if DO_CRASH isn't set, return from the calling function with
      the supplied value.
      
      If the assert fails and AST_DEVMODE is not defined, return from the
      calling function with the supplied value.
      
      The macro will execute a return without a value if one isn't suppled.
      
      Change-Id: I0003844affeab550d5ff5bca7aa7cf8a559b873e
      f7e7ce6b
    • Alexander Traud's avatar
      utils/pval: Add -lBlocksRuntime for compiler clang conditionally. · 8a1ffb05
      Alexander Traud authored
      ASTERISK-27809
      
      Change-Id: I930b364a33d54cc08dedfcd5bb45f7e83242f134
      8a1ffb05
    • Alexander Traud's avatar
      chan_vpb: Avoid GNU old-style field designator extension. · 3d9345e3
      Alexander Traud authored
      clang 6.0 warned about this. Beside that, this change removes the used variable
      'desc'.
      
      ASTERISK-27808
      
      Change-Id: Ia26bdcc0a562c058151814511cfcf70ecafa595b
      3d9345e3
  5. Apr 16, 2018
  6. Apr 13, 2018
    • Ben Ford's avatar
      res_musiconhold: Don't restart MOH from beginning after announcement. · 4aeec610
      Ben Ford authored
      This reverts a problem introduced by the fix for ASTERISK_24329.
      Now, when an announcement is played while waiting in a queue, music on
      hold will not restart from the beginning of the sound file and will
      instead pick up where it left off. However, the incorrect behavior in
      ASTERISK_24329 is now present again; if an announcement X seconds
      long is played when music on hold starts, music on hold will start X
      seconds into the file.
      
      ASTERISK-27774 #close
      Reported by: lvl
      
      Change-Id: I86b2885ee7063268f9b9747eddb788336ade989b
      4aeec610
  7. Apr 12, 2018
    • Richard Mudgett's avatar
      pjsip_scheduler.c: Add ability to trace scheduled tasks. · 3bb6cf43
      Richard Mudgett authored
      When a scheduled task is created you can pass in the
      AST_SIP_SCHED_TASK_TRACK flag.  This new flag causes scheduling events to
      be logged.
      
      Change-Id: I91967eb3d5a220915ce86881a28af772f9a7f56b
      3bb6cf43
    • Richard Mudgett's avatar
      res_pjsip.c: Split ast_sip_push_task_synchronous() to fit expectations. · 237d341b
      Richard Mudgett authored
      ast_sip_push_task_synchronous() did not necessarily execute the passed in
      task under the specified serializer.  If the current thread is any
      registered pjsip thread then it would execute the task immediately instead
      of under the specified serializer.  Reentrancy issues could result if the
      task does not execute with the right serializer.
      
      The original reason ast_sip_push_task_synchronous() checked to see if the
      current thread was a registered pjsip thread was because of a deadlock
      with masquerades and the channel technology's fixup callback
      (ASTERISK_22936).  A subsequent masquerade deadlock fix (ASTERISK_24356)
      involving call pickups avoided the original deadlock situation entirely.
      The PJSIP channel technology's fixup callback no longer needed to call
      ast_sip_push_task_synchronous().
      
      However, there are a few places where this unexpected behavior is still
      required to avoid deadlocks.  The pjsip monitor thread executes callbacks
      that do calls to ast_sip_push_task_synchronous() that would deadlock if
      the task were actually pushed to the specified serializer.  I ran into one
      dealing with the pubsub subscriptions where an ao2 destructor called
      ast_sip_push_task_synchronous().
      
      * Split ast_sip_push_task_synchronous() into
      ast_sip_push_task_wait_servant() and ast_sip_push_task_wait_serializer().
      ast_sip_push_task_wait_servant() has the old behavior of
      ast_sip_push_task_synchronous().  ast_sip_push_task_wait_serializer() has
      the new behavior where the task is always executed by the specified
      serializer or a picked serializer if one is not passed in.  Both functions
      behave the same if the current thread is not a SIP servant.
      
      * Redirected ast_sip_push_task_synchronous() to
      ast_sip_push_task_wait_servant() to preserve API for released branches.
      
      ASTERISK_26806
      
      Change-Id: Id040fa42c0e5972f4c8deef380921461d213b9f3
      237d341b
    • Richard Mudgett's avatar
      pjsip_scheduler.c: Fix some corner cases. · c2f85e88
      Richard Mudgett authored
      * Fix the periodic interval wander because it may take significant time
      between the sched thread queueing the task in the serializer and the
      serializer actually executing the task.  The time it takes to actually
      execute the task was already taken into account.
      
      * Pass a schtd ref to the serializer when we queue a scheduled task on
      the serializer.  We don't want it going away on us while it is in the
      serializer queue.
      
      * Skip the scheduled task if the task was canceled between queueing the
      task to the serializer and the serializer actually executing the task.
      
      * Reorder struct ast_sip_sched_task to avoid unnecessary padding.  Removed
      task_id and added next_periodic.
      
      * Hold a ref to the passed in serializer so the serializer cannot go away
      on the scheduled task.
      
      ASTERISK_26806
      
      Change-Id: I6c8046b75f6953792c8c30e55b836a4291143f24
      c2f85e88
    • Richard Mudgett's avatar
      pjsip_scheduler.c: Sort "pjsip show scheduled_tasks" output. · 96c4a57e
      Richard Mudgett authored
      * A side benefit is that the scheduled tasks are not completely blocked
      while the CLI command executes.
      
      * Adjusted the "Task Name" column width to have more room for longer
      names.
      
      Change-Id: Iec64aa463ee8b10eef90120e00c38b1fb444087e
      96c4a57e
    • Jenkins2's avatar
      3c5d7686
    • Jenkins2's avatar
      77773262
    • Jenkins2's avatar
  8. Apr 11, 2018
  9. Apr 10, 2018
  10. Apr 09, 2018
Loading