mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 21:04:37 +03:00
Caption support (#2462)
Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
57
vendor/github.com/asticode/go-astits/program_map.go
generated
vendored
Normal file
57
vendor/github.com/asticode/go-astits/program_map.go
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
package astits
|
||||
|
||||
import "sync"
|
||||
|
||||
// programMap represents a program ids map
|
||||
type programMap struct {
|
||||
m *sync.Mutex
|
||||
p map[uint16]uint16 // map[ProgramMapID]ProgramNumber
|
||||
}
|
||||
|
||||
// newProgramMap creates a new program ids map
|
||||
func newProgramMap() programMap {
|
||||
return programMap{
|
||||
m: &sync.Mutex{},
|
||||
p: make(map[uint16]uint16),
|
||||
}
|
||||
}
|
||||
|
||||
// exists checks whether the program with this pid exists
|
||||
func (m programMap) exists(pid uint16) (ok bool) {
|
||||
m.m.Lock()
|
||||
defer m.m.Unlock()
|
||||
_, ok = m.p[pid]
|
||||
return
|
||||
}
|
||||
|
||||
// set sets a new program id
|
||||
func (m programMap) set(pid, number uint16) {
|
||||
m.m.Lock()
|
||||
defer m.m.Unlock()
|
||||
m.p[pid] = number
|
||||
}
|
||||
|
||||
func (m programMap) unset(pid uint16) {
|
||||
m.m.Lock()
|
||||
defer m.m.Unlock()
|
||||
delete(m.p, pid)
|
||||
}
|
||||
|
||||
func (m programMap) toPATData() *PATData {
|
||||
m.m.Lock()
|
||||
defer m.m.Unlock()
|
||||
|
||||
d := &PATData{
|
||||
Programs: []*PATProgram{},
|
||||
TransportStreamID: uint16(PSITableIDPAT),
|
||||
}
|
||||
|
||||
for pid, pnr := range m.p {
|
||||
d.Programs = append(d.Programs, &PATProgram{
|
||||
ProgramMapID: pid,
|
||||
ProgramNumber: pnr,
|
||||
})
|
||||
}
|
||||
|
||||
return d
|
||||
}
|
||||
Reference in New Issue
Block a user