MCPcopy
hub / github.com/q191201771/lal / doResultMessage

Method doResultMessage

pkg/rtmp/client_session.go:561–612  ·  view source on GitHub ↗
(stream *Stream, tid int)

Source from the content-addressed store, hash-verified

559}
560
561func (s *ClientSession) doResultMessage(stream *Stream, tid int) error {
562 switch tid {
563 case tidClientConnect:
564 _, err := stream.msg.readObjectWithType()
565 if err != nil {
566 return err
567 }
568 infos, err := stream.msg.readObjectWithType()
569 if err != nil {
570 return err
571 }
572 code, err := infos.FindString("code")
573 if err != nil {
574 return err
575 }
576 switch code {
577 case "NetConnection.Connect.Success":
578 Log.Infof("[%s] < R _result(\"NetConnection.Connect.Success\").", s.UniqueKey())
579 Log.Infof("[%s] > W createStream().", s.UniqueKey())
580 if err := s.packer.writeCreateStream(s.conn); err != nil {
581 return err
582 }
583 default:
584 Log.Errorf("[%s] unknown code. code=%v", s.UniqueKey(), code)
585 }
586 case tidClientCreateStream:
587 err := stream.msg.readNull()
588 if err != nil {
589 return err
590 }
591 sid, err := stream.msg.readNumberWithType()
592 if err != nil {
593 return err
594 }
595 Log.Infof("[%s] < R _result().", s.UniqueKey())
596 switch s.sessionStat.BaseType() {
597 case base.SessionBaseTypePushStr:
598 Log.Infof("[%s] > W publish('%s').", s.UniqueKey(), s.streamNameWithRawQuery())
599 if err := s.packer.writePublish(s.conn, s.appName(), s.streamNameWithRawQuery(), sid); err != nil {
600 return err
601 }
602 case base.SessionBaseTypePullStr:
603 Log.Infof("[%s] > W play('%s').", s.UniqueKey(), s.streamNameWithRawQuery())
604 if err := s.packer.writePlay(s.conn, s.streamNameWithRawQuery(), sid); err != nil {
605 return err
606 }
607 }
608 default:
609 Log.Errorf("[%s] unknown tid. tid=%d", s.UniqueKey(), tid)
610 }
611 return nil
612}
613func (s *ClientSession) doProtocolControlMessage(stream *Stream) error {
614 if stream.msg.Len() < 4 {
615 return base.NewErrRtmpShortBuffer(4, int(stream.msg.Len()), "ClientSession::doProtocolControlMessage")

Callers 1

doCommandMessageMethod · 0.95

Calls 11

UniqueKeyMethod · 0.95
appNameMethod · 0.95
readObjectWithTypeMethod · 0.80
FindStringMethod · 0.80
writeCreateStreamMethod · 0.80
readNullMethod · 0.80
readNumberWithTypeMethod · 0.80
BaseTypeMethod · 0.80
writePublishMethod · 0.80
writePlayMethod · 0.45

Tested by

no test coverage detected