1. 30 Jul, 2017 1 commit
  2. 18 Jul, 2017 3 commits
  3. 09 Jul, 2017 1 commit
    • Rémi Denis-Courmont's avatar
      skiptags: properly conceal ID3/APE tags (fixes #18501) · 2c34ea75
      Rémi Denis-Courmont authored
      As most demuxers cannot handle tags at the beginning of their input
      streams, the demuxer code has automatically skipped them for a long
      time.
      
      Unfortunately, a number of demuxers also assume that the initial stream
      byte offset is zero (while some others seem to assume zero in some paths
      and not in others). This seems like a reasonable assumption. And even if
      it were not, fixing all affected stream filters and demuxers to perform
      only relative seeking seems impractical and unpalatable.
      
      This stream filter shifts the stream byte offset so that the tags are
      entirely invisible, and the demuxer can assume the start is at offset 0.
      
      Of couse, the tags must still be accessible to the meta extraction
      engine(s). The TagLib plugin uses "low-level" vlc_access_NewMRL() so it
      is not subject to stream filters, and not affected by this change.
      (This change does however remove tags from "demuxdump".)
      
      NOTE: On the one hand, this also enables demuxing a file format with
      embedded absolute file offsets, if the tags were prepended after muxing.
      On the other hand, it conversely breaks demuxing such a file format if
      the tags are added during muxing. As far as I know, tags are normally
      appended rather than prepended to avoid this ambiguity.
      2c34ea75
  4. 08 Jul, 2017 1 commit
  5. 26 Jun, 2017 1 commit
  6. 19 Apr, 2017 2 commits
  7. 05 Mar, 2017 1 commit
  8. 21 Feb, 2017 1 commit
  9. 07 Feb, 2017 1 commit
  10. 06 Dec, 2016 1 commit
    • Filip Roséen's avatar
      stream: rename vlc_stream_NewMRL to vlc_stream_NewURL · e4fbdceb
      Filip Roséen authored
      The function does not open MRLs, as correctly described in its
      documentation, as such it is rather unfortunate that its name uses MRL
      instead of URL (especially given that it cannot handle MRLs).
      
      These changes are simply renaming all occurrences of the function, so
      that the behavior of the function is properly reflected by its name.
      Signed-off-by: Thomas Guillem's avatarThomas Guillem <thomas@gllm.fr>
      e4fbdceb
  11. 27 Oct, 2016 1 commit
  12. 25 Oct, 2016 1 commit
  13. 11 Oct, 2016 3 commits
  14. 07 Oct, 2016 1 commit
  15. 04 Oct, 2016 4 commits
    • Rémi Denis-Courmont's avatar
    • Rémi Denis-Courmont's avatar
      prefetch: revector Thread* functions · b2127ac7
      Rémi Denis-Courmont authored
      The Thread*() functions now look and behave more like their
      corresponding generic stream-filter callback.
      
      All the buffer handling on the background prefetch thread is now done
      by the thread entry point. This causes a marginal increase in the scope
      of the internal mutual exclusion lock.
      b2127ac7
    • Rémi Denis-Courmont's avatar
      prefetch: do not defer pause · 8c5a692e
      Rémi Denis-Courmont authored
      Do not wait for full buffers to pause the underlying stream. This
      improves responsiveness (upon resumption) for live streams. This also
      ensures that no I/O is done while the input thread is paused; some apps
      might reasonably expect such behaviour.
      8c5a692e
    • Rémi Denis-Courmont's avatar
      prefetch: do not defer pause · 67aa83dd
      Rémi Denis-Courmont authored
      Do not wait for full buffers to pause the underlying stream. This
      improves responsiveness (upon resumption) for live streams. This also
      ensures that no I/O is done while the input thread is paused; some apps
      might reasonably expect such behaviour.
      67aa83dd
  16. 26 Aug, 2016 1 commit
  17. 25 Jul, 2016 4 commits
  18. 21 Jul, 2016 4 commits
  19. 20 Jul, 2016 1 commit
  20. 18 Jun, 2016 1 commit
  21. 05 Jun, 2016 1 commit
    • Filip Roséen's avatar
      stream_filter/cache_block: fix premature EOF · f6a24478
      Filip Roséen authored
      AStreamReadBlock would potentially return 0 because the current data block
      (denoted by "p_sys->p_current") was exhausted, even though there might be more
      data in the next data block ("p_sys->p_current->p_next").
      
      At the place where this patch apply, `p_sys->p_current` has been set to
      `p_sys->p_current->p_next`, so the pointer denotes the next block to
      process (even though the name is rather misleading at that point).
      Signed-off-by: Thomas Guillem's avatarThomas Guillem <thomas@gllm.fr>
      f6a24478
  22. 19 May, 2016 1 commit
    • Thomas Guillem's avatar
      access: re-refactor pf_readdir · 9109718b
      Thomas Guillem authored
      This commit changes pf_readdir callback to its original behavior. Accesses and
      streams now add items to a node.
      
      Archive stream_filters will now be able to add nodes to a node (when an archive
      has directory). This was not possible before.
      
      This commit also adds an access_fsdir helper to help fs accesses (file, smb,
      nfs, ftp, sftp) adding items to a node. These accesses need the same treatment
      that is now done by this helper:
       - hide hidden files or not (depending on "show-hiddenfiles" option)
       - skip some file extensions (depending on "ignore-filetypes" option)
       - sort items by type and alphabetically (depending on "directory-sort"
         option).
       - For a next commit: attach slaves to items
      
      The directory demux won't do these operations anymore for every access/stream.
      
      This commit doesn't change the interruptible state of the pf_readdir function,
      accesses/streams are still interruptible in the middle of a pf_readdir call.
      
      This partially reverts commit 88ffe158.
      9109718b
  23. 21 Apr, 2016 1 commit
  24. 18 Apr, 2016 1 commit
  25. 11 Mar, 2016 1 commit
  26. 18 Feb, 2016 1 commit