1. 13 Mar, 2015 2 commits
    • Another baby step to unified extractors. · a22ccf92
      - Have extractors read from an ExtractorInput. Benefits of this are
        (a) The ability to do a "full" read or skip of a specified number
        of bytes, (b) The ability to do multiple reads in your extractor's
        read method. The ExtractorInput will throw an InterruptedException
        if the read has been canceled.
      
      - Provides the extractor with the ability to query the absolute
        position of the data being read in the stream. This is needed for
        things like parsing a segment index in fragmented mp4, where the
        position of the end of the box in the stream is required because
        the index offsets are all specified relative to that position.
      Oliver Woodman committed
    • Further simplify HlsExtractor interface. · 1111dd73
      - Move to builder naming.
      - Propagate formats to the TrackOutput instances, rather than having
        them be read through the Extractor. There was actually some weird
        indexing going on here before (which happened to work, but wasn't
        well defined).
      Oliver Woodman committed
  2. 12 Mar, 2015 5 commits
  3. 11 Mar, 2015 3 commits
    • First step toward extractor unification. · 5ca2e0fd
      - It's probably easiest to think of this as a standalone HLS change, which is splitting out the "loading" and "consuming" sides of HlsExtractor and a good structural change in its own right. To do this, HlsExtractorWrapper becomes a final class implementing the consuming side. HlsExtractor becomes an interface defining the loading side.
      
      - The bigger picture is that, hopefully, HlsExtractor will become a lightweight extractor interface that can be used throughout the library. Because it doesn't need to implement the consuming side, we'll save on having to re-implement the consuming side for every extractor (we'll probably need one consuming side implementation for HLS/DASH/SmoothStreaming, and a second one for everything else, both of which will use SampleQueue). It's expected that the HlsExtractor interface will need to change to accommodate all use cases.
      
      - The next step in unification will be to try and have FragmentedMp4Extractor implement HlsExtractor (which will need renaming). Once this is done, I'll try and move the chunk package over to use the HlsExtractor interface.
      Oliver Woodman committed
    • Enhance SampleQueue/RollingSampleBuffer to support other use cases. · becc6fca
      - This is a step toward hopefully converging HLS and CHUNK packages.
      - Add support for encrypted samples.
      - Add support for appending from a DataSource.
      Oliver Woodman committed
  4. 10 Mar, 2015 11 commits
  5. 06 Mar, 2015 1 commit
  6. 05 Mar, 2015 1 commit
  7. 04 Mar, 2015 1 commit
  8. 03 Mar, 2015 6 commits
  9. 27 Feb, 2015 4 commits
  10. 26 Feb, 2015 2 commits
    • Fixes for correctly supporting UTF-16 and UTF-16BE charsets · c135bb7a
      For fields encoded using UTF-16 or UTF-16BE charsets when looking for
      termination character we have to look for two zero consecutive bytes.
      
      Otherwise, as many characters encoded with UTF-16 or UTF-16BE has one
      of their 2 bytes set with the value zero, we will be truncating text
      fields.
      J. Oliva committed
    • Added new ID3 frames · ebbd022a
      - Added support for ID3 frames of types GEOB and PRIV.
      
       - GEOB type is commonly used by dynamic ads provider to include in the
      stream information about the ads to be played.
       - PRIV type is commonly used for time synchronization (example:
      synchronizing playback of a live stream and its webvtt captions) and
      also by analytics companies to include tracking information in the
      stream.
      
      - Added a sample stream from Apple that contains ID3 metadata.
      J. Oliva committed
  11. 25 Feb, 2015 4 commits