diff options
author | Dahiya, Anil (A.) <adahiya@ford.com> | 2015-04-20 14:23:12 -0400 |
---|---|---|
committer | Rapitis, Markos (M.J.) <mrapitis@ford.com> | 2015-05-06 10:39:02 -0400 |
commit | 1fbbd615a9fc39448d20e12b4cc24966fbc32f3c (patch) | |
tree | ad6608b3956cf140b7276235b0fbeecaa830f6e2 | |
parent | 68770af144c96083aabbce78435a820edfab94bd (diff) | |
download | sdl_android-1fbbd615a9fc39448d20e12b4cc24966fbc32f3c.tar.gz |
Changes for Error Handling for Encoder
4 files changed, 27 insertions, 11 deletions
diff --git a/sdl_android_lib/AndroidManifest.xml b/sdl_android_lib/AndroidManifest.xml index 8c2db539b..515f72bc5 100644 --- a/sdl_android_lib/AndroidManifest.xml +++ b/sdl_android_lib/AndroidManifest.xml @@ -1,5 +1,5 @@ <manifest package="com.smartdevicelink" xmlns:android="http://schemas.android.com/apk/res/android">
- <uses-sdk android:minSdkVersion="12"/>
+ <uses-sdk android:minSdkVersion="19"/>
<!-- Required to use the USB Accessory mode -->
<uses-feature android:name="android.hardware.usb.accessory"/>
<application android:debuggable="true"/>
diff --git a/sdl_android_lib/project.properties b/sdl_android_lib/project.properties index e61077f79..7002f279d 100644 --- a/sdl_android_lib/project.properties +++ b/sdl_android_lib/project.properties @@ -8,5 +8,5 @@ # project structure. # Project target. -target=android-17 +target=android-18 android.library=true diff --git a/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java b/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java index ae44f73a2..b3e50d86a 100644 --- a/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java +++ b/sdl_android_lib/src/com/smartdevicelink/SdlConnection/SdlConnection.java @@ -398,15 +398,21 @@ public class SdlConnection implements IProtocolListener, ITransportListener, ISt }
public void startEncoder () {
- mSdlEncoder.startEncoder();
+ if(mSdlEncoder != null) {
+ mSdlEncoder.startEncoder();
+ }
}
public void releaseEncoder() {
- mSdlEncoder.releaseEncoder();
+ if(mSdlEncoder != null) {
+ mSdlEncoder.releaseEncoder();
+ }
}
public void drainEncoder(boolean endOfStream) {
- mSdlEncoder.drainEncoder(endOfStream);
+ if(mSdlEncoder != null) {
+ mSdlEncoder.drainEncoder(endOfStream);
+ }
}
@Override
diff --git a/sdl_android_lib/src/com/smartdevicelink/encoder/SdlEncoder.java b/sdl_android_lib/src/com/smartdevicelink/encoder/SdlEncoder.java index 05dd95dad..bf4af07c3 100644 --- a/sdl_android_lib/src/com/smartdevicelink/encoder/SdlEncoder.java +++ b/sdl_android_lib/src/com/smartdevicelink/encoder/SdlEncoder.java @@ -71,13 +71,19 @@ public class SdlEncoder { try { mEncoder = MediaCodec.createEncoderByType(_MIME_TYPE); } catch (Exception e) {e.printStackTrace();} - - mEncoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); - return mEncoder.createInputSurface(); + + if(mEncoder != null) { + mEncoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE); + return mEncoder.createInputSurface(); + } else { + return null; + } } public void startEncoder () { - mEncoder.start(); + if(mEncoder != null) { + mEncoder.start(); + } } /** @@ -95,6 +101,7 @@ public class SdlEncoder { } catch (IOException e) { e.printStackTrace(); } + mOutputStream = null; } } @@ -109,8 +116,11 @@ public class SdlEncoder { public void drainEncoder(boolean endOfStream) { final int TIMEOUT_USEC = 10000; + if(mEncoder == null || mOutputStream == null) { + return; + } if (endOfStream) { - mEncoder.signalEndOfInputStream(); + mEncoder.signalEndOfInputStream(); } ByteBuffer[] encoderOutputBuffers = mEncoder.getOutputBuffers(); @@ -135,7 +145,7 @@ public class SdlEncoder { try { mOutputStream.write(dataToWrite, 0, mBufferInfo.size); - } catch (IOException e) {} + } catch (Exception e) {} } mEncoder.releaseOutputBuffer(encoderStatus, false); |