@@ -63,9 +63,9 @@ public boolean consumeRotationChange() {
63
63
}
64
64
65
65
public void streamScreen () throws IOException , ConfigurationException {
66
- String videoMimeType = streamer .getCodec (). getMimeType ();
67
- MediaCodec mediaCodec = createMediaCodec (videoMimeType , encoderName );
68
- MediaFormat format = createFormat (videoMimeType , bitRate , maxFps , codecOptions );
66
+ Codec codec = streamer .getCodec ();
67
+ MediaCodec mediaCodec = createMediaCodec (codec , encoderName );
68
+ MediaFormat format = createFormat (codec . getMimeType () , bitRate , maxFps , codecOptions );
69
69
IBinder display = createDisplay ();
70
70
device .setRotationListener (this );
71
71
@@ -210,28 +210,28 @@ private static MediaCodecInfo[] listEncoders(String videoMimeType) {
210
210
return result .toArray (new MediaCodecInfo [result .size ()]);
211
211
}
212
212
213
- private static MediaCodec createMediaCodec (String videoMimeType , String encoderName ) throws IOException , ConfigurationException {
213
+ private static MediaCodec createMediaCodec (Codec codec , String encoderName ) throws IOException , ConfigurationException {
214
214
if (encoderName != null ) {
215
215
Ln .d ("Creating encoder by name: '" + encoderName + "'" );
216
216
try {
217
217
return MediaCodec .createByCodecName (encoderName );
218
218
} catch (IllegalArgumentException e ) {
219
- Ln .e (buildUnknownEncoderMessage (videoMimeType , encoderName ));
219
+ Ln .e (buildUnknownEncoderMessage (codec , encoderName ));
220
220
throw new ConfigurationException ("Unknown encoder: " + encoderName );
221
221
}
222
222
}
223
- MediaCodec mediaCodec = MediaCodec .createEncoderByType (videoMimeType );
223
+ MediaCodec mediaCodec = MediaCodec .createEncoderByType (codec . getMimeType () );
224
224
Ln .d ("Using encoder: '" + mediaCodec .getName () + "'" );
225
225
return mediaCodec ;
226
226
}
227
227
228
- private static String buildUnknownEncoderMessage (String videoMimeType , String encoderName ) {
229
- StringBuilder msg = new StringBuilder ("Encoder '" ).append (encoderName ).append ("' not found" );
230
- MediaCodecInfo [] encoders = listEncoders (videoMimeType );
228
+ private static String buildUnknownEncoderMessage (Codec codec , String encoderName ) {
229
+ StringBuilder msg = new StringBuilder ("Encoder '" ).append (encoderName ).append ("' for " ). append ( codec . getName ()). append ( " not found" );
230
+ MediaCodecInfo [] encoders = listEncoders (codec . getMimeType () );
231
231
if (encoders != null && encoders .length > 0 ) {
232
232
msg .append ("\n Try to use one of the available encoders:" );
233
233
for (MediaCodecInfo encoder : encoders ) {
234
- msg .append ("\n scrcpy --encoder='" ).append (encoder .getName ()).append ("'" );
234
+ msg .append ("\n scrcpy --codec=" ). append ( codec . getName ()). append ( " -- encoder='" ).append (encoder .getName ()).append ("'" );
235
235
}
236
236
}
237
237
return msg .toString ();
0 commit comments