Versions in this module Expand all Collapse all v1 v1.14.0 Jul 3, 2026 Changes in this version + const AudioTypeCleanEffects + const AudioTypeHearingImpaired + const AudioTypeVisualImpairedCommentary + const DataStreamAligmentAudioSyncWord + const DataStreamAligmentVideoAccessUnit + const DataStreamAligmentVideoGOPOrSEQ + const DataStreamAligmentVideoSEQ + const DataStreamAligmentVideoSliceOrAccessUnit + const DescriptorTagExtensionSupplementaryAudio + const M2TsPacketSize + const MpegTsPacketSize + const PIDCAT + const PIDNull + const PIDPAT + const PIDTSDT + const PSITableTypeBAT + const PSITableTypeDIT + const PSITableTypeEIT + const PSITableTypeNIT + const PSITableTypeNull + const PSITableTypePAT + const PSITableTypePMT + const PSITableTypeRST + const PSITableTypeSDT + const PSITableTypeSIT + const PSITableTypeST + const PSITableTypeTDT + const PSITableTypeTOT + const PSITableTypeUnknown + const PSTDBufferScale1024Bytes + const PSTDBufferScale128Bytes + const PTSDTSIndicatorBothPresent + const PTSDTSIndicatorIsForbidden + const PTSDTSIndicatorNoPTSOrDTS + const PTSDTSIndicatorOnlyPTS + const RunningStatusNotRunning + const RunningStatusPausing + const RunningStatusRunning + const RunningStatusServiceOffAir + const RunningStatusStartsInAFewSeconds + const RunningStatusUndefined + const ScramblingControlNotScrambled + const ScramblingControlReservedForFutureUse + const ScramblingControlScrambledWithEvenKey + const ScramblingControlScrambledWithOddKey + const ServiceTypeDigitalTelevisionService + const StreamIDPaddingStream + const StreamIDPrivateStream1 + const StreamIDPrivateStream2 + const TeletextTypeAdditionalInformationPage + const TeletextTypeInitialTeletextPage + const TeletextTypeProgramSchedulePage + const TeletextTypeTeletextSubtitlePage + const TeletextTypeTeletextSubtitlePageForHearingImpairedPeople + const TrickModeControlFastForward + const TrickModeControlFastReverse + const TrickModeControlFreezeFrame + const TrickModeControlSlowMotion + const TrickModeControlSlowReverse + const VBIDataServiceIDClosedCaptioning + const VBIDataServiceIDEBUTeletext + const VBIDataServiceIDInvertedTeletext + const VBIDataServiceIDMonochrome442Samples + const VBIDataServiceIDVPS + const VBIDataServiceIDWSS + var EmptySkipper = func(_ *Packet) (skip bool) + var ErrCounterOverflow = errors.New("counter overflow") + var ErrNoMorePackets = errors.New("astits: no more packets") + var ErrPCRPIDInvalid = errors.New("astits: PCR PID invalid") + var ErrPIDAlreadyExists = errors.New("astits: PID already exists") + var ErrPIDNotFound = errors.New("astits: PID not found") + var ErrPacketMustStartWithASyncByte = errors.New("astits: packet must start with a sync byte") + var ErrShortPacket = errors.New("astits: packet too short") + var ErrZeroCopyNextData = errors.New("astits: NextData is unavailable with zero-copy packets") + func DemuxerOptPacketSize(packetSize int) func(*Demuxer) + func DemuxerOptPacketSkipper(s PacketSkipper) func(*Demuxer) + func DemuxerOptPacketsParser(p PacketsParser) func(*Demuxer) + func DemuxerOptSkipErrLimit(count int) func(*Demuxer) + func DemuxerOptZeroCopyPackets(batchPackets uint) func(*Demuxer) + func MuxerOptTablesRetransmitPeriod(newPeriod int) func(*Muxer) + type ClockReference uint64 + func (cr *ClockReference) Base() uint64 + func (cr *ClockReference) Duration() time.Duration + func (cr *ClockReference) Extension() uint64 + func (cr *ClockReference) Time() time.Time + type DSMTrickMode struct + FieldID uint8 + FrequencyTruncation uint8 + IntraSliceRefresh uint8 + RepeatControl uint8 + TrickModeControl uint8 + type Demuxer struct + func NewDemuxer(ctx context.Context, r io.Reader, opts ...func(*Demuxer)) (d *Demuxer) + func (dmx *Demuxer) Close() + func (dmx *Demuxer) GetStats() (ret map[uint64]uint) + func (dmx *Demuxer) NextData() (d *DemuxerData, err error) + func (dmx *Demuxer) NextPacket() (p *Packet, err error) + func (dmx *Demuxer) NextPacketTo(p *Packet) (err error) + func (dmx *Demuxer) Rewind() (n int64, err error) + type DemuxerData struct + AdaptationField *PacketAdaptationField + ContinuityCounter uint8 + EIT *EITData + NIT *NITData + PAT *PATData + PES *PESData + PID uint16 + PMT *PMTData + SDT *SDTData + TOT *TOTData + func (d *DemuxerData) Close() + type Descriptor interface + type DescriptorAC3 struct + ASVC uint8 + AdditionalInfo []byte + BSID uint8 + ComponentType uint8 + HasASVC bool + HasBSID bool + HasComponentType bool + HasMainID bool + Header DescriptorHeader + MainID uint8 + type DescriptorAVCVideo struct + AVC24HourPictureFlag bool + AVCStillPresent bool + CompatibleFlags uint8 + ConstraintSet0Flag bool + ConstraintSet1Flag bool + ConstraintSet2Flag bool + Header DescriptorHeader + LevelIDC uint8 + ProfileIDC uint8 + type DescriptorComponent struct + ComponentTag uint8 + ComponentType uint8 + Header DescriptorHeader + ISO639LanguageCode [3]byte + StreamContent uint8 + StreamContentExt uint8 + Text []byte + type DescriptorContent struct + Header DescriptorHeader + Items []DescriptorContentItem + type DescriptorContentItem struct + ContentNibbleLevel1 uint8 + ContentNibbleLevel2 uint8 + UserByte uint8 + type DescriptorDataStreamAlignment struct + Header DescriptorHeader + Type uint8 + type DescriptorEnhancedAC3 struct + ASVC uint8 + AdditionalInfo []byte + BSID uint8 + ComponentType uint8 + HasASVC bool + HasBSID bool + HasComponentType bool + HasMainID bool + HasSubStream1 bool + HasSubStream2 bool + HasSubStream3 bool + Header DescriptorHeader + MainID uint8 + MixInfoExists bool + SubStream1 uint8 + SubStream2 uint8 + SubStream3 uint8 + type DescriptorExtendedEvent struct + Header DescriptorHeader + ISO639LanguageCode [3]byte + Items []DescriptorExtendedEventItem + LastDescriptorNumber uint8 + Number uint8 + Text []byte + type DescriptorExtendedEventItem struct + Content []byte + Description []byte + type DescriptorExtension struct + Header DescriptorHeader + SupplementaryAudio *DescriptorExtensionSupplementaryAudio + Tag uint8 + Unknown []byte + type DescriptorExtensionSupplementaryAudio struct + EditorialClassification uint8 + HasLanguageCode bool + LanguageCode [3]byte + MixType bool + PrivateData []byte + type DescriptorHeader struct + Length uint8 + Tag DescriptorTag + type DescriptorISO639LanguageAndAudioType struct + Header DescriptorHeader + Language [3]byte + Type uint8 + type DescriptorLocalTimeOffset struct + Header DescriptorHeader + Items []DescriptorLocalTimeOffsetItem + type DescriptorLocalTimeOffsetItem struct + CountryCode [3]byte + CountryRegionID uint8 + LocalTimeOffset time.Duration + LocalTimeOffsetPolarity bool + NextTimeOffset time.Duration + TimeOfChange time.Time + type DescriptorMaximumBitrate struct + Bitrate uint32 + Header DescriptorHeader + type DescriptorNetworkName struct + Header DescriptorHeader + Name []byte + type DescriptorParentalRating struct + Header DescriptorHeader + Items []DescriptorParentalRatingItem + type DescriptorParentalRatingItem struct + CountryCode [3]byte + Rating uint8 + func (d DescriptorParentalRatingItem) MinimumAge() int + type DescriptorParser func(i *astikit.BytesIterator, h DescriptorHeader, offsetEnd int) (d Descriptor, err error) + type DescriptorPrivateDataIndicator struct + Header DescriptorHeader + Indicator uint32 + type DescriptorPrivateDataSpecifier struct + Header DescriptorHeader + Specifier uint32 + type DescriptorRegistration struct + AdditionalIdentificationInfo []byte + FormatIdentifier uint32 + Header DescriptorHeader + type DescriptorService struct + Header DescriptorHeader + Name []byte + Provider []byte + Type uint8 + type DescriptorShortEvent struct + EventName []byte + Header DescriptorHeader + Language [3]byte + Text []byte + type DescriptorStreamIdentifier struct + ComponentTag uint8 + Header DescriptorHeader + type DescriptorSubtitling struct + Header DescriptorHeader + Items []DescriptorSubtitlingItem + type DescriptorSubtitlingItem struct + AncillaryPageID uint16 + CompositionPageID uint16 + Language [3]byte + Type uint8 + type DescriptorTag uint8 + const DescriptorTagAC3 + const DescriptorTagAVCVideo + const DescriptorTagComponent + const DescriptorTagContent + const DescriptorTagDataStreamAlignment + const DescriptorTagEnhancedAC3 + const DescriptorTagExtendedEvent + const DescriptorTagExtension + const DescriptorTagISO639LanguageAndAudioType + const DescriptorTagLocalTimeOffset + const DescriptorTagMaximumBitrate + const DescriptorTagNetworkName + const DescriptorTagParentalRating + const DescriptorTagPrivateDataIndicator + const DescriptorTagPrivateDataSpecifier + const DescriptorTagRegistration + const DescriptorTagService + const DescriptorTagShortEvent + const DescriptorTagStreamIdentifier + const DescriptorTagSubtitling + const DescriptorTagTeletext + const DescriptorTagVBIData + const DescriptorTagVBITeletext + type DescriptorTeletext struct + Header DescriptorHeader + Items []DescriptorTeletextItem + type DescriptorTeletextItem struct + Language [3]byte + Magazine uint8 + Page uint8 + Type uint8 + type DescriptorUnknown struct + Content []byte + Header DescriptorHeader + type DescriptorUserDefined struct + Data []byte + Header DescriptorHeader + type DescriptorVBIData struct + Header DescriptorHeader + Services []DescriptorVBIDataService + type DescriptorVBIDataDescriptor struct + FieldParity bool + LineOffset uint8 + type DescriptorVBIDataService struct + DataServiceID uint8 + Descriptors []DescriptorVBIDataDescriptor + type EITData struct + Events []EITDataEvent + LastTableID uint8 + OriginalNetworkID uint16 + SegmentLastSectionNumber uint8 + ServiceID uint16 + TransportStreamID uint16 + type EITDataEvent struct + Descriptors []Descriptor + Duration time.Duration + EventID uint16 + HasFreeCSAMode bool + RunningStatus uint8 + StartTime time.Time + type Muxer struct + func NewMuxer(ctx context.Context, w io.Writer, opts ...func(*Muxer)) (m *Muxer) + func (m *Muxer) AddElementaryStream(es PMTElementaryStream) error + func (m *Muxer) RemoveElementaryStream(pid uint16) error + func (m *Muxer) SetCC(pid uint16, cc uint8) error + func (m *Muxer) SetPCRPID(pid uint16) + func (m *Muxer) WriteData(d *MuxerData) (bytesWritten int, err error) + func (m *Muxer) WritePacket(p *Packet) (int, error) + func (m *Muxer) WriteTables() (bytesWritten int, err error) + type MuxerData struct + AdaptationField *PacketAdaptationField + PES *PESData + PID uint16 + type NITData struct + NetworkDescriptors []Descriptor + NetworkID uint16 + TransportStreams []NITDataTransportStream + type NITDataTransportStream struct + OriginalNetworkID uint16 + TransportDescriptors []Descriptor + TransportStreamID uint16 + type PATData struct + Programs []PATProgram + TransportStreamID uint16 + type PATProgram struct + ProgramMapID uint16 + ProgramNumber uint16 + type PESData struct + Data []byte + Header PESHeader + type PESHeader struct + OptionalHeader *PESOptionalHeader + PacketLength uint16 + StreamID uint8 + func (h *PESHeader) IsVideoStream() bool + type PESOptionalHeader struct + AdditionalCopyInfo uint8 + CRC uint16 + DSMTrickMode *DSMTrickMode + DTS ClockReference + DataAlignmentIndicator bool + ESCR ClockReference + ESRate uint32 + Extension *PESOptionalHeaderExtension + HasAdditionalCopyInfo bool + HasCRC bool + HasDSMTrickMode bool + HasESCR bool + HasESRate bool + HasExtension bool + HasOptionalFields bool + HeaderLength uint8 + IsCopyrighted bool + IsOriginal bool + MarkerBits uint8 + PTS ClockReference + PTSDTSIndicator uint8 + Priority bool + ScramblingControl uint8 + type PESOptionalHeaderExtension struct + Extension2Data []byte + Extension2Length uint8 + HasExtension2 bool + HasPSTDBuffer bool + HasPackHeaderField bool + HasPrivateData bool + HasProgramPacketSequenceCounter bool + MPEG1OrMPEG2ID uint8 + OriginalStuffingLength uint8 + PSTDBufferScale uint8 + PSTDBufferSize uint16 + PackField uint8 + PacketSequenceCounter uint8 + PrivateData []byte + type PMTData struct + ElementaryStreams []PMTElementaryStream + PCRPID uint16 + ProgramDescriptors []Descriptor + ProgramNumber uint16 + type PMTElementaryStream struct + ElementaryPID uint16 + ElementaryStreamDescriptors []Descriptor + StreamType StreamType + type PSIData struct + PointerField int + Sections []PSISection + type PSISection struct + CRC32 uint32 + Header PSISectionHeader + Syntax *PSISectionSyntax + type PSISectionHeader struct + PrivateBit bool + SectionLength uint16 + SectionSyntaxIndicator bool + TableID PSITableID + type PSISectionSyntax struct + Data PSISectionSyntaxData + Header PSISectionSyntaxHeader + type PSISectionSyntaxData interface + type PSISectionSyntaxHeader struct + CurrentNextIndicator bool + LastSectionNumber uint8 + SectionNumber uint8 + TableIDExtension uint16 + VersionNumber uint8 + type PSITableID uint8 + const PSITableIDBAT + const PSITableIDDIT + const PSITableIDEITEnd + const PSITableIDEITStart + const PSITableIDNITVariant1 + const PSITableIDNITVariant2 + const PSITableIDNull + const PSITableIDPAT + const PSITableIDPMT + const PSITableIDRST + const PSITableIDSDTVariant1 + const PSITableIDSDTVariant2 + const PSITableIDSIT + const PSITableIDST + const PSITableIDTDT + const PSITableIDTOT + func (t PSITableID) Type() string + type Packet struct + AdaptationField *PacketAdaptationField + Header PacketHeader + Offset int64 + Payload []byte + func NewPacket() (p *Packet) + func (p *Packet) Close() + func (p *Packet) Next() *Packet + func (p *Packet) Reset() + func (p *Packet) UpdateHeader() + type PacketAdaptationExtensionField struct + DTSNextAccessUnit ClockReference + HasLegalTimeWindow bool + HasPiecewiseRate bool + HasSeamlessSplice bool + LegalTimeWindowIsValid bool + LegalTimeWindowOffset uint16 + Length uint8 + PiecewiseRate uint32 + SpliceType uint8 + type PacketAdaptationField struct + AdaptationExtensionField *PacketAdaptationExtensionField + DiscontinuityIndicator bool + ElementaryStreamPriorityIndicator bool + HasAdaptationExtensionField bool + HasOPCR bool + HasPCR bool + HasSplicingCountdown bool + HasTransportPrivateData bool + IsOneByteStuffing bool + Length uint8 + OPCR ClockReference + PCR ClockReference + RandomAccessIndicator bool + SpliceCountdown uint8 + StuffingLength uint8 + TransportPrivateData []byte + TransportPrivateDataLength uint8 + type PacketHeader struct + ContinuityCounter uint8 + HasAdaptationField bool + HasPayload bool + PID uint16 + PayloadUnitStartIndicator bool + TransportErrorIndicator bool + TransportPriority bool + TransportScramblingControl uint8 + type PacketList struct + func NewPacketList() *PacketList + func (pl *PacketList) Clear() + func (pl *PacketList) Close() + func (pl *PacketList) Head() *Packet + func (pl *PacketList) IsEmpty() bool + func (pl *PacketList) Length() int + func (pl *PacketList) PushBack(p *Packet) + func (pl *PacketList) Size() int + func (pl *PacketList) Tail() *Packet + type PacketSkipper func(p *Packet) (skip bool) + type PacketsParser func(pl *PacketList) (ds []*DemuxerData, skip bool, err error) + type SDTData struct + OriginalNetworkID uint16 + Services []SDTDataService + TransportStreamID uint16 + type SDTDataService struct + Descriptors []Descriptor + HasEITPresentFollowing bool + HasEITSchedule bool + HasFreeCSAMode bool + RunningStatus uint8 + ServiceID uint16 + type StreamType uint8 + const StreamTypeAACAudio + const StreamTypeAACLATMAudio + const StreamTypeAC3Audio + const StreamTypeADTS + const StreamTypeCAVSVideo + const StreamTypeDIRACVideo + const StreamTypeDTSAudio + const StreamTypeEAC3Audio + const StreamTypeH264Video + const StreamTypeH265Video + const StreamTypeHEVCVideo + const StreamTypeMPEG1Audio + const StreamTypeMPEG1Video + const StreamTypeMPEG2Audio + const StreamTypeMPEG2HalvedSampleRateAudio + const StreamTypeMPEG2PacketizedData + const StreamTypeMPEG2Video + const StreamTypeMPEG4Video + const StreamTypeMetadata + const StreamTypePrivateData + const StreamTypePrivateSection + const StreamTypeSCTE35 + const StreamTypeTRUEHDAudio + const StreamTypeVC1Video + func (t StreamType) IsAudio() bool + func (t StreamType) IsVideo() bool + func (t StreamType) String() string + func (t StreamType) ToPESStreamID() uint8 + type TOTData struct + Descriptors []Descriptor + UTCTime time.Time Other modules containing this package github.com/k-danil/go-astits/v2 github.com/k-danil/go-astits/v3