Documentation ¶
Index ¶
- type Base
- func (b *Base) CheckSync() (locked bool, layer int32)
- func (b *Base) GetCurrent() buffer.VideoLayer
- func (b *Base) GetMax() buffer.VideoLayer
- func (b *Base) GetMaxSeen() buffer.VideoLayer
- func (b *Base) GetRequestSpatial() int32
- func (b *Base) GetTarget() buffer.VideoLayer
- func (b *Base) IsOvershootOkay() bool
- func (b *Base) Rollback()
- func (b *Base) Select(_extPkt *buffer.ExtPacket, _layer int32) (result VideoLayerSelectorResult)
- func (b *Base) SelectTemporal(extPkt *buffer.ExtPacket) (int32, bool)
- func (b *Base) SetCurrent(currentLayer buffer.VideoLayer)
- func (b *Base) SetMax(maxLayer buffer.VideoLayer)
- func (b *Base) SetMaxSeen(maxSeenLayer buffer.VideoLayer)
- func (b *Base) SetMaxSeenSpatial(layer int32)
- func (b *Base) SetMaxSeenTemporal(layer int32)
- func (b *Base) SetMaxSpatial(layer int32)
- func (b *Base) SetMaxTemporal(layer int32)
- func (b *Base) SetRequestSpatial(layer int32)
- func (b *Base) SetTarget(targetLayer buffer.VideoLayer)
- func (b *Base) SetTemporalLayerSelector(tls temporallayerselector.TemporalLayerSelector)
- type DecodeTarget
- type DependencyDescriptor
- type FrameChain
- func (fc *FrameChain) BeginUpdateActive()
- func (fc *FrameChain) Broken() bool
- func (fc *FrameChain) EndUpdateActive()
- func (fc *FrameChain) OnExpectFrameChanged(frameNum uint64, decision selectorDecision)
- func (fc *FrameChain) OnFrame(extFrameNum uint64, fd *dd.FrameDependencyTemplate) bool
- func (fc *FrameChain) UpdateActive(active bool)
- type FrameDetectionResult
- type FrameNumberWrapper
- type Null
- type SelectorDecisionCache
- func (s *SelectorDecisionCache) AddDropped(entity uint64)
- func (s *SelectorDecisionCache) AddForwarded(entity uint64)
- func (s *SelectorDecisionCache) ExpectDecision(entity uint64, f func(entity uint64, decision selectorDecision)) bool
- func (s *SelectorDecisionCache) GetDecision(entity uint64) (selectorDecision, error)
- type Simulcast
- type VP9
- type VideoLayerSelector
- type VideoLayerSelectorResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Base ¶
type Base struct {
// contains filtered or unexported fields
}
func (*Base) GetCurrent ¶
func (b *Base) GetCurrent() buffer.VideoLayer
func (*Base) GetMax ¶
func (b *Base) GetMax() buffer.VideoLayer
func (*Base) GetMaxSeen ¶
func (b *Base) GetMaxSeen() buffer.VideoLayer
func (*Base) GetRequestSpatial ¶
func (*Base) GetTarget ¶
func (b *Base) GetTarget() buffer.VideoLayer
func (*Base) IsOvershootOkay ¶
func (*Base) Select ¶
func (b *Base) Select(_extPkt *buffer.ExtPacket, _layer int32) (result VideoLayerSelectorResult)
func (*Base) SetCurrent ¶
func (b *Base) SetCurrent(currentLayer buffer.VideoLayer)
func (*Base) SetMax ¶
func (b *Base) SetMax(maxLayer buffer.VideoLayer)
func (*Base) SetMaxSeen ¶
func (b *Base) SetMaxSeen(maxSeenLayer buffer.VideoLayer)
func (*Base) SetMaxSeenSpatial ¶
func (*Base) SetMaxSeenTemporal ¶
func (*Base) SetMaxSpatial ¶
func (*Base) SetMaxTemporal ¶
func (*Base) SetRequestSpatial ¶
func (*Base) SetTarget ¶
func (b *Base) SetTarget(targetLayer buffer.VideoLayer)
func (*Base) SetTemporalLayerSelector ¶
func (b *Base) SetTemporalLayerSelector(tls temporallayerselector.TemporalLayerSelector)
type DecodeTarget ¶ added in v1.4.4
type DecodeTarget struct { buffer.DependencyDescriptorDecodeTarget // contains filtered or unexported fields }
func NewDecodeTarget ¶ added in v1.4.4
func NewDecodeTarget(target buffer.DependencyDescriptorDecodeTarget, chain *FrameChain) *DecodeTarget
func (*DecodeTarget) Active ¶ added in v1.4.4
func (dt *DecodeTarget) Active() bool
func (*DecodeTarget) OnFrame ¶ added in v1.4.4
func (dt *DecodeTarget) OnFrame(extFrameNum uint64, fd *dd.FrameDependencyTemplate) (FrameDetectionResult, error)
func (*DecodeTarget) UpdateActive ¶ added in v1.4.4
func (dt *DecodeTarget) UpdateActive(activeBitmask uint32)
func (*DecodeTarget) Valid ¶ added in v1.4.4
func (dt *DecodeTarget) Valid() bool
type DependencyDescriptor ¶
type DependencyDescriptor struct { *Base // contains filtered or unexported fields }
func NewDependencyDescriptor ¶
func NewDependencyDescriptor(logger logger.Logger) *DependencyDescriptor
func NewDependencyDescriptorFromNull ¶
func NewDependencyDescriptorFromNull(vls VideoLayerSelector) *DependencyDescriptor
func (*DependencyDescriptor) CheckSync ¶ added in v1.4.4
func (d *DependencyDescriptor) CheckSync() (locked bool, layer int32)
func (*DependencyDescriptor) IsOvershootOkay ¶
func (d *DependencyDescriptor) IsOvershootOkay() bool
func (*DependencyDescriptor) Rollback ¶ added in v1.4.5
func (d *DependencyDescriptor) Rollback()
func (*DependencyDescriptor) Select ¶
func (d *DependencyDescriptor) Select(extPkt *buffer.ExtPacket, _layer int32) (result VideoLayerSelectorResult)
type FrameChain ¶ added in v1.4.4
type FrameChain struct {
// contains filtered or unexported fields
}
func NewFrameChain ¶ added in v1.4.4
func NewFrameChain(decisions *SelectorDecisionCache, chainIdx int, logger logger.Logger) *FrameChain
func (*FrameChain) BeginUpdateActive ¶ added in v1.4.4
func (fc *FrameChain) BeginUpdateActive()
func (*FrameChain) Broken ¶ added in v1.4.4
func (fc *FrameChain) Broken() bool
func (*FrameChain) EndUpdateActive ¶ added in v1.4.4
func (fc *FrameChain) EndUpdateActive()
func (*FrameChain) OnExpectFrameChanged ¶ added in v1.4.4
func (fc *FrameChain) OnExpectFrameChanged(frameNum uint64, decision selectorDecision)
func (*FrameChain) OnFrame ¶ added in v1.4.4
func (fc *FrameChain) OnFrame(extFrameNum uint64, fd *dd.FrameDependencyTemplate) bool
func (*FrameChain) UpdateActive ¶ added in v1.4.4
func (fc *FrameChain) UpdateActive(active bool)
type FrameDetectionResult ¶ added in v1.4.4
type FrameDetectionResult struct { TargetValid bool DTI dd.DecodeTargetIndication }
type FrameNumberWrapper ¶ added in v1.5.2
type FrameNumberWrapper struct {
// contains filtered or unexported fields
}
func (*FrameNumberWrapper) UpdateAndGet ¶ added in v1.5.2
func (f *FrameNumberWrapper) UpdateAndGet(new uint64, updateOffset bool) uint64
UpdateAndGet returns the wrapped frame number from the given frame number, and updates the offset to make sure the returned frame number is always inorder. Should only updateOffset if the new frame is a keyframe because frame dependencies uses on the frame number diff so frames inside a GOP should have the same offset.
type SelectorDecisionCache ¶
type SelectorDecisionCache struct {
// contains filtered or unexported fields
}
func NewSelectorDecisionCache ¶
func NewSelectorDecisionCache(maxNumElements uint64, numNackEntries uint64) *SelectorDecisionCache
func (*SelectorDecisionCache) AddDropped ¶
func (s *SelectorDecisionCache) AddDropped(entity uint64)
func (*SelectorDecisionCache) AddForwarded ¶
func (s *SelectorDecisionCache) AddForwarded(entity uint64)
func (*SelectorDecisionCache) ExpectDecision ¶ added in v1.4.4
func (s *SelectorDecisionCache) ExpectDecision(entity uint64, f func(entity uint64, decision selectorDecision)) bool
func (*SelectorDecisionCache) GetDecision ¶
func (s *SelectorDecisionCache) GetDecision(entity uint64) (selectorDecision, error)
type Simulcast ¶
type Simulcast struct {
*Base
}
func NewSimulcast ¶
func NewSimulcastFromNull ¶
func NewSimulcastFromNull(vls VideoLayerSelector) *Simulcast
func (*Simulcast) IsOvershootOkay ¶
type VP9 ¶
type VP9 struct {
*Base
}
func NewVP9FromNull ¶
func NewVP9FromNull(vls VideoLayerSelector) *VP9
func (*VP9) IsOvershootOkay ¶
type VideoLayerSelector ¶
type VideoLayerSelector interface { IsOvershootOkay() bool SetTemporalLayerSelector(tls temporallayerselector.TemporalLayerSelector) SetMax(maxLayer buffer.VideoLayer) SetMaxSpatial(layer int32) SetMaxTemporal(layer int32) GetMax() buffer.VideoLayer SetTarget(targetLayer buffer.VideoLayer) GetTarget() buffer.VideoLayer SetRequestSpatial(layer int32) GetRequestSpatial() int32 CheckSync() (locked bool, layer int32) SetMaxSeen(maxSeenLayer buffer.VideoLayer) SetMaxSeenSpatial(layer int32) SetMaxSeenTemporal(layer int32) GetMaxSeen() buffer.VideoLayer SetCurrent(currentLayer buffer.VideoLayer) GetCurrent() buffer.VideoLayer Select(extPkt *buffer.ExtPacket, layer int32) VideoLayerSelectorResult SelectTemporal(extPkt *buffer.ExtPacket) (int32, bool) Rollback() }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.