1. 16 May, 2021 2 commits
  2. 03 May, 2021 1 commit
  3. 22 Apr, 2021 3 commits
  4. 10 Apr, 2021 3 commits
  5. 05 Apr, 2021 1 commit
    • crvi's avatar
      file-helpers: fix race condition in rb_uri_create_parent_dirs() · e3b7d5a0
      crvi authored
      rb_uri_create_parent_dirs() call currently fails if the parent
      directory of the passed file uri is created by another process /
      thread after check_file_is_directory() returns FALSE. We now get rid
      of check_file_is_directory(), and call
      g_file_make_directory_with_parents() directly. If the call fails
      because the dir already exists, we consider it a success and return,
      rather than reporting it as an error.
      
      Closes: #1743
      e3b7d5a0
  6. 03 Apr, 2021 5 commits
  7. 02 Apr, 2021 2 commits
  8. 31 Mar, 2021 1 commit
  9. 30 Mar, 2021 1 commit
  10. 29 Mar, 2021 3 commits
    • crvi's avatar
      encoder: fix missing unref on gtask object in some code paths · bccb25e3
      crvi authored
      We are not unreffing gtask in some code paths. Here, we do it
      immediately after g_task_run_in_thread (), as the function takes ref
      to the task and unrefs it when the task is completed.
      
      This was causing the system error "too many open files", as the
      encoder was not getting unreffed, causing the pipeline not getting
      unreffed, causing the gstreamer poll loop not getting unreffed,
      causing the socketpair() used by the poll loop to not close. So, for
      each track transfer, 2 fds were lost, causing the system error when
      the open file count per process crossed the user ulimit of 1024 (
      which normally happens when transferring more than 350 tracks ).
      bccb25e3
    • Jonathan Matthew's avatar
      xfade: stop the sink when there's nothing playing (again) · 3be694b5
      Jonathan Matthew authored
      This code has been here, #if 0'd out, for a long time, because it caused
      problems with timestamps when the sink was started again.  Since we're
      doing some stupid tricks with element states here, the base time of the
      sink gets out of sync with the clock's time offset (they normally cancel
      each other out), which caused audio to be dropped until the playback
      time caught up with the time offset.
      
      The solution then is to manually sync up the base time with the sink
      after setting the pipeline back to PLAYING.  If the sink is a bin (it
      always is), we recursively set the base time on the bin contents to be
      sure we get it to the right place.
      3be694b5
    • Jonathan Matthew's avatar
      080066fb
  11. 26 Mar, 2021 2 commits
    • Jonathan Matthew's avatar
      use rb_uri_is_descendant in a few places · 8b7309cd
      Jonathan Matthew authored
      This is better than the string prefix checks we had before as it ensures
      that the end of the ancestor URI is also the end of a path component of
      the descendant.
      8b7309cd
    • Jonathan Matthew's avatar
      lib: add rb_uri_is_descendant · bb6fba63
      Jonathan Matthew authored
      This checks if one canonical URI is a descendant of another, that is,
      if removing some number of path components from the first URI would
      result in the second.
      bb6fba63
  12. 25 Mar, 2021 2 commits
  13. 24 Mar, 2021 1 commit
  14. 23 Mar, 2021 1 commit
  15. 14 Mar, 2021 1 commit
  16. 13 Mar, 2021 1 commit
  17. 07 Mar, 2021 2 commits
  18. 03 Mar, 2021 4 commits
  19. 02 Mar, 2021 1 commit
  20. 01 Mar, 2021 1 commit
  21. 28 Feb, 2021 2 commits