Skip to content

Commit

Permalink
cleaning
Browse files Browse the repository at this point in the history
  • Loading branch information
frostbyte73 committed Aug 15, 2023
1 parent 4eb59ef commit 4d53f37
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 45 deletions.
3 changes: 2 additions & 1 deletion pkg/pipeline/input/audio.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,8 @@ func newAudioCapsFilter(p *config.PipelineConfig) (*gst.Element, error) {
"audio/x-raw,format=S16LE,layout=interleaved,rate=48000,channels=2",
)
case types.MimeTypeAAC:
caps = gst.NewCapsFromString(fmt.Sprintf("audio/x-raw,format=S16LE,layout=interleaved,rate=%d,channels=2",
caps = gst.NewCapsFromString(fmt.Sprintf(
"audio/x-raw,format=S16LE,layout=interleaved,rate=%d,channels=2",
p.AudioFrequency,
))
default:
Expand Down
63 changes: 29 additions & 34 deletions pkg/pipeline/input/video.go
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,6 @@ func (v *videoInput) buildEncoder(p *config.PipelineConfig) error {
if err != nil {
return errors.ErrGstPipelineError(err)
}

if err = caps.SetProperty("caps", gst.NewCapsFromString(fmt.Sprintf(
"video/x-h264,profile=%s",
p.VideoProfile,
Expand All @@ -282,39 +281,35 @@ func (v *videoInput) buildEncoder(p *config.PipelineConfig) error {
v.encoder = append(v.encoder, x264Enc, caps)
return nil

// TODO
// case types.MimeTypeVP9:
//
// vp9Enc, err := gst.NewElement("vp9enc")
// if err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("deadline", int64(1)); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("speed", 7); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("row-mt", true); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("tile-columns", 3); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("tile-rows", 1); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("frame-parallel", true); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("max-quantizer", 52); err != nil {
// return errors.ErrGstPipelineError(err)
// }
// if err = vp9Enc.SetProperty("min-quantizer", 2); err != nil {
// return errors.ErrGstPipelineError(err)
// }
//
// v.encoder = append(v.encoder, vp9Enc)
case types.MimeTypeVP9:
vp9Enc, err := gst.NewElement("vp9enc")
if err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("deadline", int64(1)); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("row-mt", true); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("tile-columns", 3); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("tile-rows", 1); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("frame-parallel", true); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("max-quantizer", 52); err != nil {
return errors.ErrGstPipelineError(err)
}
if err = vp9Enc.SetProperty("min-quantizer", 2); err != nil {
return errors.ErrGstPipelineError(err)
}

v.encoder = append(v.encoder, vp9Enc)
return errors.ErrNotSupported(fmt.Sprintf("%s encoding", p.VideoOutCodec))

default:
return errors.ErrNotSupported(fmt.Sprintf("%s encoding", p.VideoOutCodec))
Expand Down
13 changes: 4 additions & 9 deletions pkg/pipeline/source/sdk.go
Original file line number Diff line number Diff line change
Expand Up @@ -313,15 +313,10 @@ func (s *SDKSource) onTrackSubscribed(track *webrtc.TrackRemote, pub *lksdk.Remo
s.filenameReplacements["{publisher_identity}"] = s.Identity
}
case types.RequestTypeTrack:
if track.Kind() == webrtc.RTPCodecTypeAudio {
s.TrackKind = "audio"
} else {
s.TrackKind = "video"
// check for video over websocket
if s.Outputs[types.EgressTypeWebsocket] != nil {
onSubscribeErr = errors.ErrIncompatible("websocket", ts.MimeType)
return
}
s.TrackKind = pub.Kind().String()
if pub.Kind() == lksdk.TrackKindVideo && s.Outputs[types.EgressTypeWebsocket] != nil {
onSubscribeErr = errors.ErrIncompatible("websocket", ts.MimeType)
return
}
s.TrackSource = strings.ToLower(pub.Source().String())
if o := s.GetFileConfig(); o != nil {
Expand Down
2 changes: 1 addition & 1 deletion test/ffprobe.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ func verify(t *testing.T, in string, p *config.PipelineConfig, res *livekit.Egre
require.Len(t, res.GetSegmentResults(), 1)
segments := res.GetSegmentResults()[0]
expected := int64(math.Ceil(actual / float64(p.GetSegmentConfig().SegmentDuration)))
require.True(t, segments.SegmentCount == expected || segments.SegmentCount == expected-1)
require.InDelta(t, expected, segments.SegmentCount, 1)

case types.EgressTypeWebsocket:
size, err := strconv.Atoi(info.Format.Size)
Expand Down

0 comments on commit 4d53f37

Please sign in to comment.