Skip to content
  1. Dec 03, 2023
  2. Dec 02, 2023
    • George Kiagiadakis's avatar
      object-manager: ref all object managers before exposing tmp globals · 4cc387d8
      George Kiagiadakis authored
      It is possible that during this process some object managers emit
      their "installed" signal, and it is possible that some object managers
      are destroyed within the handler of this signal, ending up with a dangling
      object manager pointer (since we do not ref object managers in the registry)
      and with a modified object_managers list during iteration...
      
      Related to: #534
      4cc387d8
  3. Nov 29, 2023
  4. Nov 25, 2023
  5. Nov 22, 2023
  6. Nov 20, 2023
  7. Nov 10, 2023
  8. Nov 07, 2023
  9. Oct 30, 2023
  10. Oct 26, 2023
  11. Oct 25, 2023
  12. Oct 23, 2023
    • George Kiagiadakis's avatar
      object-manager: use an idle callback to expose tmp globals instead of pw_core_sync · 23ba0197
      George Kiagiadakis authored
      A core sync is not really necessary here because whatever objects the remote
      pipewire daemon has to announce have already been sent to us on a message
      and this message is already being processed at this point. This means, we are
      not going to be returning to the main loop until all the new objects have been
      announced and therefore placed into the tmp globals array. So, we can also use
      an idle callback and achieve the same effect of slightly delaying until all
      new globals have been announced.
      
      With an idle callback, we can be more agile and add those new objects immediately
      after the message has been processed instead of waiting for a pw_core_sync()
      reply, which will come in the next message.
      
      This fixes an odd failure of the si-standard-link test after applying the fix
      for #517, which was caused by the fact that the test was previously relying on
      a delay caused by some unrelated globals being prepared in the object manager
      that tries to verify the graph state. After those globals were removed from the
      internal preparation queue, the test would fail to detect the link objects
      because they were stuck in the tmp_globals array for too long.
      23ba0197
    • George Kiagiadakis's avatar
      object-manager: reduce the amount of globals that initially match the interest · 5fc7e68d
      George Kiagiadakis authored
      With the previous check, any global matching either the type or the global
      properties of the interest would be considered for inclusion in the object
      manager and would be prepared only to fail the same check later.
      
      The correct way to check is (variable & (X|Y) == (X|Y)), which is what
      SPA_FLAG_IS_SET() expands to.
      
      Fixes #517
      5fc7e68d
  13. Oct 19, 2023
  14. Oct 12, 2023
  15. Oct 10, 2023
  16. Oct 02, 2023
  17. Sep 25, 2023
  18. Sep 22, 2023
  19. Sep 15, 2023