explicitly set profile+level for encoder
some modern Androids (namely my Xiaomi Mi A1 after the update to Andorid 9) seem to require that
This commit is contained in:
		
							parent
							
								
									bd5b8aff78
								
							
						
					
					
						commit
						905d2ab432
					
				| @ -53,11 +53,14 @@ public class Android360pFormatStrategy implements MediaFormatStrategy { | |||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|         MediaFormat format = MediaFormat.createVideoFormat("video/avc", outWidth, outHeight); |         MediaFormat format = MediaFormat.createVideoFormat("video/avc", outWidth, outHeight); | ||||||
|         // From Nexus 4 Camera in 720p |  | ||||||
|         format.setInteger(MediaFormat.KEY_BIT_RATE, mVideoBitrate); |         format.setInteger(MediaFormat.KEY_BIT_RATE, mVideoBitrate); | ||||||
|         format.setInteger(MediaFormat.KEY_FRAME_RATE, 30); |         format.setInteger(MediaFormat.KEY_FRAME_RATE, 30); | ||||||
|         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 3); |         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 3); | ||||||
|         format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); |         format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); | ||||||
|  |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | ||||||
|  |             format.setInteger(MediaFormat.KEY_PROFILE ,MediaCodecInfo.CodecProfileLevel.AVCProfileBaseline); | ||||||
|  |             format.setInteger(MediaFormat.KEY_LEVEL, MediaCodecInfo.CodecProfileLevel.AVCLevel13); | ||||||
|  |         } | ||||||
|         return format; |         return format; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -53,11 +53,14 @@ public class Android720pFormatStrategy implements MediaFormatStrategy { | |||||||
|             return null; |             return null; | ||||||
|         } |         } | ||||||
|         MediaFormat format = MediaFormat.createVideoFormat("video/avc", outWidth, outHeight); |         MediaFormat format = MediaFormat.createVideoFormat("video/avc", outWidth, outHeight); | ||||||
|         // From Nexus 4 Camera in 720p |  | ||||||
|         format.setInteger(MediaFormat.KEY_BIT_RATE, mVideoBitrate); |         format.setInteger(MediaFormat.KEY_BIT_RATE, mVideoBitrate); | ||||||
|         format.setInteger(MediaFormat.KEY_FRAME_RATE, 30); |         format.setInteger(MediaFormat.KEY_FRAME_RATE, 30); | ||||||
|         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 3); |         format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 3); | ||||||
|         format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); |         format.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); | ||||||
|  |         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | ||||||
|  |             format.setInteger(MediaFormat.KEY_PROFILE ,MediaCodecInfo.CodecProfileLevel.AVCProfileBaseline); | ||||||
|  |             format.setInteger(MediaFormat.KEY_LEVEL, MediaCodecInfo.CodecProfileLevel.AVCLevel13); | ||||||
|  |         } | ||||||
|         return format; |         return format; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Daniel Gultsch
						Daniel Gultsch