22
33import com .github .serezhka .jap2lib .rtsp .AudioStreamInfo ;
44import com .github .serezhka .jap2lib .rtsp .MediaStreamInfo ;
5+ import com .github .serezhka .jap2lib .rtsp .VideoStreamInfo ;
56import com .github .serezhka .jap2server .AirplayDataConsumer ;
67import com .github .serezhka .jap2server .internal .AudioControlServer ;
78import com .github .serezhka .jap2server .internal .AudioReceiver ;
@@ -52,9 +53,11 @@ protected boolean handleRequest(ChannelHandlerContext ctx, Session session, Full
5253 case AUDIO :
5354 AudioStreamInfo audioStreamInfo = (AudioStreamInfo ) mediaStreamInfo ;
5455
55- if (!audioStreamInfo .getAudioFormat ().equals (AudioStreamInfo .AudioFormat .AAC_ELD_44100_2 )) {
56- log .error ("Audio format {} is not supported yet!" , audioStreamInfo .getAudioFormat ());
57- }
56+ log .info ("Audio format is: {}" , audioStreamInfo .getAudioFormat ());
57+ log .info ("Audio compression type is: {}" , audioStreamInfo .getCompressionType ());
58+ log .info ("Audio samples per frame is: {}" , audioStreamInfo .getSamplesPerFrame ());
59+
60+ airplayDataConsumer .onAudioFormat (audioStreamInfo );
5861
5962 var audioHandler = new AudioHandler (session .getAirPlay (), airplayDataConsumer );
6063 var audioReceiver = new AudioReceiver (audioHandler , this );
@@ -75,9 +78,14 @@ protected boolean handleRequest(ChannelHandlerContext ctx, Session session, Full
7578
7679 session .getAirPlay ().rtspSetupAudio (new ByteBufOutputStream (response .content ()),
7780 audioReceiver .getPort (), audioControlServer .getPort ());
81+
7882 break ;
7983
8084 case VIDEO :
85+ VideoStreamInfo videoStreamInfo = (VideoStreamInfo ) mediaStreamInfo ;
86+
87+ airplayDataConsumer .onVideoFormat (videoStreamInfo );
88+
8189 var mirroringHandler = new MirroringHandler (session .getAirPlay (), airplayDataConsumer );
8290 var airPlayReceiver = new MirroringReceiver (airPlayPort , mirroringHandler );
8391 var airPlayReceiverThread = new Thread (airPlayReceiver );
0 commit comments