1. 09 Feb, 2017 6 commits
    • Thomas Guillem's avatar
      decoder: add VLCDEC_ECRITICAL status · 21144a3a
      Thomas Guillem authored
      This replaces the decoder_t->b_error boolean.
      
      For now, only decoders that were setting b_error return VLCDEC_ECRITICAL, but a
      lot more decoders should use this value since critical errors are often ignored.
      21144a3a
    • Thomas Guillem's avatar
      decoder: refactor pf_decode_* callbacks · a8b249bc
      Thomas Guillem authored
      Use only one callback for every decoder types:
      
      int (*pf_decode)(decoder_t *, block_t *p_block);
      
      There is now only one way to send output frames/blocks from a decoder module:
      using decoder_QueueVideo(), decoder_QueueAudio() and decoder_QueueSub()
      functions.
      
      This fixes transcoding not receiving any output when a decoder used
      decoder_Queue*() function.
      
      The pf_packetize callback is kept unchanged. A packetizer shouldn't be
      asynchronous at all (and this simplify the locking for decoder core).
      
      The pf_decode callback returns, for now, only one value: SUCCESS. This will
      allow a module to send more status.
      a8b249bc
    • Thomas Guillem's avatar
      decoder: use one update callback per category · f4eec050
      Thomas Guillem authored
      Because the next commit will merge all DecoderDecode*() into one.
      f4eec050
    • Thomas Guillem's avatar
      728d9985
    • Thomas Guillem's avatar
      f1b80320
    • François Cartegnie's avatar
      packetizer: flac: rework (fix #17932) · 6ab43650
      François Cartegnie authored
      Fixes the framesize number of bytestream parsing
      and exponential framesize memcpy sending cpu rocket
      high,  4M+ memcpy vs 800 for same 10s sample on variable
      frame length.
      Minimizes the number of required allocs.
      Previous CRC errors also dissapeared.
      6ab43650
  2. 08 Feb, 2017 34 commits