♻️ Convert SelectAudioStream into a method of Probe
This commit is contained in:
parent
d91fc4b9ec
commit
d87422488c
2 changed files with 20 additions and 21 deletions
|
|
@ -9,7 +9,6 @@ import (
|
|||
|
||||
"codeberg.org/danjones000/strip-beats/app"
|
||||
"codeberg.org/danjones000/strip-beats/input/boolean"
|
||||
"codeberg.org/danjones000/strip-beats/media"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
|
|
@ -25,8 +24,8 @@ var rootCmd = &cobra.Command{
|
|||
// media.Watch(out.Format.Path)
|
||||
show := boolean.Choose("Show stream?")
|
||||
if show {
|
||||
stream := media.SelectAudioStream(out)
|
||||
fmt.Printf("Stream %d of %s: %+v\n", stream, out.Format.Path, out.Streams[stream])
|
||||
stream := out.WantedAudioStream()
|
||||
fmt.Printf("Stream %d of %s: %+v\n", stream.Index, out.Format.Path, stream)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,24 @@ func (p Probe) GetFirstAcceptableAudio() *Stream {
|
|||
return sts[0]
|
||||
}
|
||||
|
||||
func (pr Probe) WantedAudioStream() *Stream {
|
||||
count := pr.GetAudioCount()
|
||||
if count < 1 {
|
||||
return nil
|
||||
}
|
||||
|
||||
if count == 1 {
|
||||
return pr.GetFirstAudio()
|
||||
}
|
||||
|
||||
pref := pr.GetFirstAcceptableAudio()
|
||||
if pref != nil {
|
||||
return pref
|
||||
}
|
||||
|
||||
return pr.GetFirstAudio()
|
||||
}
|
||||
|
||||
type Stream struct {
|
||||
Index int
|
||||
CodecName string `json:"codec_name"`
|
||||
|
|
@ -130,21 +148,3 @@ func ProbeFile(path string) Probe {
|
|||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func SelectAudioStream(pr Probe) int {
|
||||
count := pr.GetAudioCount()
|
||||
if count < 1 {
|
||||
return -1
|
||||
}
|
||||
|
||||
if count == 1 {
|
||||
return pr.GetFirstAudio().Index
|
||||
}
|
||||
|
||||
pref := pr.GetFirstAcceptableAudio()
|
||||
if pref != nil {
|
||||
return pref.Index
|
||||
}
|
||||
|
||||
return pr.GetFirstAudio().Index
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue