Object

scodec.protocols.mpeg.transport

Demultiplexer

Related Doc: package transport

Permalink

object Demultiplexer

Supports depacketization of an MPEG transport stream, represented as a stream of Packets.

Source
Demultiplexer.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Demultiplexer
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class DecodeBody[A](neededBits: Option[Long], decoder: Decoder[A]) extends Product with Serializable

    Permalink

    Indication that a header was decoded successfully and there was enough information on how to decode the body of the message.

    Indication that a header was decoded successfully and there was enough information on how to decode the body of the message.

    Upon receiving a result of this type, the demultiplexer will accumulate the number of bits specified by neededBits if that value is defined. If neededBits is undefined, the demultiplexer will accumulate all payload bits until the start of the next message (as indicated by the payload unit start indicator). When accumulation has completed, the specified decoder will be invoked to decode a message.

  2. case class PesPacketResult(body: PesPacket) extends Result with Product with Serializable

    Permalink
  3. case class ResetDecodeState(context: List[String]) extends Err with Product with Serializable

    Permalink

    Error that indicates any data accumulated by the demultiplexer should be dropped and no further decoding should occur until the next payload start.

  4. sealed trait Result extends AnyRef

    Permalink
  5. case class SectionResult(section: Section) extends Result with Product with Serializable

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def demultiplex[F[_]](sectionCodec: SectionCodec): Pipe[F, Packet, PidStamped[Either[DemultiplexerError, Result]]]

    Permalink

    Stream transducer that converts packets in to sections and PES packets.

    Stream transducer that converts packets in to sections and PES packets.

    The packets may span PID values. De-packetization is performed on each PID and as whole messages are received, reassembled messages are emitted.

    PES packets emitted by this method never include parsed headers -- that is, every emitted PES packet is of type PesPacket.WithoutHeader. To get PES packets with parsed headers, use demultiplexWithPesHeaders.

    Errors encountered while depacketizing are emitted.

    Upon noticing a PID discontinuity, an error is emitted and PID decoding state is discarded, resulting in any in-progress section decoding to be lost for that PID.

  7. def demultiplexGeneral[F[_], Out](decodeHeader: (BitVector, Boolean) ⇒ Attempt[DecodeResult[DecodeBody[Out]]]): Pipe[F, Packet, PidStamped[Either[DemultiplexerError, Out]]]

    Permalink

    Most general way to perform demultiplexing, allowing parsing of arbitrary headers and decoding of a specified output type.

    Most general way to perform demultiplexing, allowing parsing of arbitrary headers and decoding of a specified output type.

    When processing the payload in a packet, the start of the payload is passed along to decodeHeader, which determines how to process the body of the message.

    In addition to the payload data, a flag is passed to decodeHeader -- true is passed when the payload data started at byte 0 of the packet and false is passed when the payload data started later in the packet.

    See the documentation on DecodeBody for more information.

  8. def demultiplexSectionsAndPesPackets[F[_]](decodeSectionBody: (SectionHeader) ⇒ Decoder[Section], decodePesBody: (PesPacketHeaderPrefix) ⇒ Decoder[PesPacket]): Pipe[F, Packet, PidStamped[Either[DemultiplexerError, Result]]]

    Permalink

    Variant of demultiplex that allows section and PES decoding to be explicitly specified.

  9. def demultiplexWithPesHeaders[F[_]](sectionCodec: SectionCodec): Pipe[F, Packet, PidStamped[Either[DemultiplexerError, Result]]]

    Permalink

    Variant of demultiplex that parses PES packet headers.

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  23. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped