Loading media/java/android/media/MediaMuxer.java +13 −10 Original line number Diff line number Diff line Loading @@ -335,13 +335,13 @@ final public class MediaMuxer { } /** * Constructor. * Creates a media muxer that writes to the specified path. * <p>The caller must not use the file {@code path} before calling {@link #stop}. * @param path The path of the output media file. * @param format The format of the output media file. * @see android.media.MediaMuxer.OutputFormat * @throws IllegalArgumentException if path is invalid or format is not supported. * @throws IOException if failed to open the file for write. * @throws IOException if an error occurs while opening or creating the output file. */ public MediaMuxer(@NonNull String path, @Format int format) throws IOException { if (path == null) { Loading @@ -363,16 +363,19 @@ final public class MediaMuxer { } /** * Constructor. * Creates a media muxer that writes to the specified FileDescriptor. File descriptor * must be seekable and writable. Application should not use the file referenced * by this file descriptor until {@link #stop}. It is the application's responsibility * to close the file descriptor. It is safe to do so as soon as this call returns. * @param fd The FileDescriptor of the output media file. * Creates a media muxer that writes to the specified FileDescriptor. * <p>The caller must not use the file referenced by the specified {@code fd} before calling * {@link #stop}. * <p>It is the caller's responsibility to close the file descriptor, which is safe to do so * as soon as this call returns. * @param fd The FileDescriptor of the output media file. If {@code format} is * {@link OutputFormat#MUXER_OUTPUT_WEBM}, {@code fd} must be open in read-write mode. * Otherwise, write mode is sufficient, but read-write is also accepted. * @param format The format of the output media file. * @see android.media.MediaMuxer.OutputFormat * @throws IllegalArgumentException if fd is invalid or format is not supported. * @throws IOException if failed to open the file for write. * @throws IllegalArgumentException if {@code format} is not supported, or if {@code fd} is * not open in the expected mode. * @throws IOException if an error occurs while performing an IO operation. */ public MediaMuxer(@NonNull FileDescriptor fd, @Format int format) throws IOException { setUpMediaMuxer(fd, format); Loading media/jni/android_media_MediaMuxer.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,11 @@ static jlong android_media_MediaMuxer_native_setup( MediaMuxer::OutputFormat fileFormat = static_cast<MediaMuxer::OutputFormat>(format); sp<MediaMuxer> muxer = new MediaMuxer(fd, fileFormat); sp<MediaMuxer> muxer = MediaMuxer::create(fd, fileFormat); if (muxer == nullptr) { jniThrowException(env, "java/lang/IllegalArgumentException", "Muxer creation failed"); return 0; } muxer->incStrong(clazz); return reinterpret_cast<jlong>(muxer.get()); } Loading Loading
media/java/android/media/MediaMuxer.java +13 −10 Original line number Diff line number Diff line Loading @@ -335,13 +335,13 @@ final public class MediaMuxer { } /** * Constructor. * Creates a media muxer that writes to the specified path. * <p>The caller must not use the file {@code path} before calling {@link #stop}. * @param path The path of the output media file. * @param format The format of the output media file. * @see android.media.MediaMuxer.OutputFormat * @throws IllegalArgumentException if path is invalid or format is not supported. * @throws IOException if failed to open the file for write. * @throws IOException if an error occurs while opening or creating the output file. */ public MediaMuxer(@NonNull String path, @Format int format) throws IOException { if (path == null) { Loading @@ -363,16 +363,19 @@ final public class MediaMuxer { } /** * Constructor. * Creates a media muxer that writes to the specified FileDescriptor. File descriptor * must be seekable and writable. Application should not use the file referenced * by this file descriptor until {@link #stop}. It is the application's responsibility * to close the file descriptor. It is safe to do so as soon as this call returns. * @param fd The FileDescriptor of the output media file. * Creates a media muxer that writes to the specified FileDescriptor. * <p>The caller must not use the file referenced by the specified {@code fd} before calling * {@link #stop}. * <p>It is the caller's responsibility to close the file descriptor, which is safe to do so * as soon as this call returns. * @param fd The FileDescriptor of the output media file. If {@code format} is * {@link OutputFormat#MUXER_OUTPUT_WEBM}, {@code fd} must be open in read-write mode. * Otherwise, write mode is sufficient, but read-write is also accepted. * @param format The format of the output media file. * @see android.media.MediaMuxer.OutputFormat * @throws IllegalArgumentException if fd is invalid or format is not supported. * @throws IOException if failed to open the file for write. * @throws IllegalArgumentException if {@code format} is not supported, or if {@code fd} is * not open in the expected mode. * @throws IOException if an error occurs while performing an IO operation. */ public MediaMuxer(@NonNull FileDescriptor fd, @Format int format) throws IOException { setUpMediaMuxer(fd, format); Loading
media/jni/android_media_MediaMuxer.cpp +5 −1 Original line number Diff line number Diff line Loading @@ -165,7 +165,11 @@ static jlong android_media_MediaMuxer_native_setup( MediaMuxer::OutputFormat fileFormat = static_cast<MediaMuxer::OutputFormat>(format); sp<MediaMuxer> muxer = new MediaMuxer(fd, fileFormat); sp<MediaMuxer> muxer = MediaMuxer::create(fd, fileFormat); if (muxer == nullptr) { jniThrowException(env, "java/lang/IllegalArgumentException", "Muxer creation failed"); return 0; } muxer->incStrong(clazz); return reinterpret_cast<jlong>(muxer.get()); } Loading