diff --git a/.gitignore b/.gitignore index 6b395b5..a9fe009 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,14 @@ *.iml .idea -/ffmpeg4java-macos-test/test-frame-10.png -/ffmpeg4java-macos-test/test-frame-20.png -/ffmpeg4java-macos-test/test-frame-30.png -/ffmpeg4java-macos-test/test-frame-40.png -/ffmpeg4java-macos-test/test-video-48.mpg -/ffmpeg4java-linux-test/test-frame-10.png -/ffmpeg4java-linux-test/test-frame-20.png -/ffmpeg4java-linux-test/test-frame-30.png -/ffmpeg4java-linux-test/test-frame-40.png -/ffmpeg4java-linux-test/test-video-48.mpg -/ffmpeg4java-windows-test/test-frame-10.png -/ffmpeg4java-windows-test/test-frame-20.png -/ffmpeg4java-windows-test/test-frame-30.png -/ffmpeg4java-windows-test/test-frame-40.png -/ffmpeg4java-windows-test/test-video-48.mpg /ffmpeg4java-macos/native/ffmpeg/ /ffmpeg4java-linux/native/ffmpeg/ /ffmpeg4java-windows/native/ffmpeg/ /ffmpeg4java-windows/src/main/resources/ffmpeg4java.dll /ffmpeg4java-linux/src/main/resources/libffmpeg4java.so /ffmpeg4java-macos/src/main/resources/libffmpeg4java.dylib -/ffmpeg4java-macos-examples/output.mp4 -/ffmpeg4java-linux-examples/output.mp4 -/ffmpeg4java-windows-examples/output.mp4 +/ffmpeg4java-examples/output.mp4 +/ffmpeg4java-tests/test-frame-10.png +/ffmpeg4java-tests/test-frame-20.png +/ffmpeg4java-tests/test-frame-30.png +/ffmpeg4java-tests/test-frame-40.png +/ffmpeg4java-tests/test-video-48.mpg diff --git a/Makefile b/Makefile index 0b5389c..e58a7d4 100755 --- a/Makefile +++ b/Makefile @@ -30,8 +30,8 @@ dump: verify: test $(system) @echo System = $(system) - #MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=ffmpeg4java-$(system)-test/target/lib -Djextract.trace.downcalls=false -Xlog:library" mvn verify -P$(system) - MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=ffmpeg4java-$(system)-test/target/lib -Djextract.trace.downcalls=false $(properties)" mvn verify -P$(system) + #MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=ffmpeg4java-tests/target/lib -Djextract.trace.downcalls=false -Xlog:library" mvn verify -P$(system) + MAVEN_OPTS="--enable-preview --enable-native-access=ALL-UNNAMED -Djava.library.path=ffmpeg4java-tests/target/lib -Djextract.trace.downcalls=false $(properties)" mvn verify -P$(system) .PHONY: copy-legal copy-legal: diff --git a/README.md b/README.md index 9e74abb..a9ef88b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ -# FFmpeg4Java 7.0.1-1.1 +# FFmpeg4Java 7.0.1-1.2 FFmpeg4Java provides a Java wrapper of FFmpeg library version 7.0.1. +Please note that starting from version 7.0.1-1.0 the wrapper requires Java 22 and the Java FFM API (which is still in preview). +Older versions of the wrapper still work with Java 11 or later, but they use JNI with an old version of FFmpeg. + ## License @@ -54,19 +57,19 @@ If you are using Maven, add one of the following dependencies in your POM: com.nextbreakpoint com.nextbreakpoint.ffmpeg4java.macos - 7.0.1-1.1 + 7.0.1-1.2 com.nextbreakpoint com.nextbreakpoint.ffmpeg4java.linux - 7.0.1-1.1 + 7.0.1-1.2 com.nextbreakpoint com.nextbreakpoint.ffmpeg4java.windows - 7.0.1-1.1 + 7.0.1-1.2 Also, add one of the following to download the native library: @@ -226,25 +229,25 @@ Compile and package the JARs: The artifacts will be created in the target directory of each module: - ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.1-x86_64.jar - ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.1-x86_64-x86_64.jar + ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.2-x86_64.jar + ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.2-x86_64-x86_64.jar - ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.1-x86_64.jar - ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.1-x86_64-x86_64.jar + ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.2-x86_64.jar + ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.2-x86_64-x86_64.jar - ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.1-x86_64.jar - ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.1-x86_64-x86_64.jar + ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.2-x86_64.jar + ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.2-x86_64-x86_64.jar List the content of the JAR files: - unzip -t ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.1.jar - unzip -t ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.1-x86_64.jar + unzip -t ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.2.jar + unzip -t ffmpeg4java-macos/target/com.nextbreakpoint.ffmpeg4java.macos-7.0.1-1.2-x86_64.jar - unzip -t ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.1.jar - unzip -t ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.1-x86_64.jar + unzip -t ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.2.jar + unzip -t ffmpeg4java-linux/target/com.nextbreakpoint.ffmpeg4java.linux-7.0.1-1.2-x86_64.jar - unzip -t ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.1.jar - unzip -t ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.1-x86_64.jar + unzip -t ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.2.jar + unzip -t ffmpeg4java-windows/target/com.nextbreakpoint.ffmpeg4java.windows-7.0.1-1.2-x86_64.jar Install the artifacts in your local Maven repository: @@ -287,15 +290,11 @@ Generate the code for Windows (must be executed on Windows): ## Code examples -A simple example is provided for each supported system. - -See POM files for details about how to download the native library and execute the code: - - ffmpeg4java-macos-examples/pom.xml +A simple example is provided for the module ffmpeg4Java-examples. - ffmpeg4java-linux-examples/pom.xml +See the POM file for details about how to download the native library and execute the example: - ffmpeg4java-windows-examples/pom.xml + ffmpeg4java-examples/pom.xml ## References diff --git a/ffmpeg4java-examples/pom.xml b/ffmpeg4java-examples/pom.xml new file mode 100644 index 0000000..074c53e --- /dev/null +++ b/ffmpeg4java-examples/pom.xml @@ -0,0 +1,177 @@ + + 4.0.0 + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java + 7.0.1-1.2 + + com.nextbreakpoint.ffmpeg4java.examples + jar + FFmpeg4Java Examples + FFmpeg4Java provides a Java wrapper of FFmpeg library + + + macos + + x86_64 + macos + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.macos + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.macos + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.dylib + + + + + + + + + linux + + x86_64 + linux + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.linux + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.linux + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.so + + + + + + + + + windows + + x86_64 + windows + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.windows + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.windows + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.dll + + + + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + + + run + test + + exec + + + java + + --enable-preview + --enable-native-access=ALL-UNNAMED + -classpath + + -Djava.library.path=${project.build.directory}/lib + com.nextbreakpoint.ffmpeg4java.ConvertVideoMain + sample.mpg + output.mp4 + + + + + + + + diff --git a/ffmpeg4java-linux-examples/sample.mpg b/ffmpeg4java-examples/sample.mpg similarity index 100% rename from ffmpeg4java-linux-examples/sample.mpg rename to ffmpeg4java-examples/sample.mpg diff --git a/ffmpeg4java-linux-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/ConvertVideoMain.java b/ffmpeg4java-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/ConvertVideoMain.java similarity index 67% rename from ffmpeg4java-linux-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/ConvertVideoMain.java rename to ffmpeg4java-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/ConvertVideoMain.java index 9e06ca3..23b29df 100644 --- a/ffmpeg4java-linux-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/ConvertVideoMain.java +++ b/ffmpeg4java-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/ConvertVideoMain.java @@ -1,55 +1,55 @@ -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; import java.lang.foreign.ValueLayout; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_get_buffer_size; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_alloc_context3; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_close; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_open2; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_parameters_from_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_parameters_to_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_receive_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_receive_packet; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_send_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_send_packet; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_freeContext; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_getCachedContext; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_scale; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.AV_CODEC_ID_NONE; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_dump_format; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_frame_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_guess_format; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_rescale_ts; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_unref; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_read_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_stream_new_side_data; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_write_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_write_trailer; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_find_decoder; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_find_encoder; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_parameters_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_alloc_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_close_input; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_find_stream_info; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_free_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_new_stream; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_open_input; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_write_header; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avio_close; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avio_open2; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AVIO_FLAG_WRITE; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AV_PIX_FMT_RGB24; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AV_PIX_FMT_YUV420P; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.C_POINTER; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.SWS_BILINEAR; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_free; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_fill_arrays; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_get_buffer_size; import static java.lang.foreign.MemorySegment.NULL; class ConvertVideoMain { @@ -63,8 +63,8 @@ public static void main(String[] args) { System.out.println("Converting video..."); - System.out.println(STR."Source file \{sourceFileName}"); - System.out.println(STR."Output file \{outputFileName}"); + System.out.printf("Source file %s%n", sourceFileName); + System.out.printf("Output file %s%n", outputFileName); try (var arena = Arena.ofConfined()) { var pInputFileName = arena.allocateFrom(sourceFileName); @@ -90,13 +90,13 @@ public static void main(String[] args) { ppInputFormatCtx = arena.allocate(C_POINTER); if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open file")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't open file")); } final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find stream info")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't find stream info")); } av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); @@ -124,25 +124,25 @@ public static void main(String[] args) { } if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find video stream")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't find video stream")); } if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find decoder")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't find decoder")); } pInputCodecCtx = avcodec_alloc_context3(pInputCodec); if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't copy codec parameters")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't copy codec parameters")); } if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate codec context")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate codec context")); } if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open decoder")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't open decoder")); } final int frameWidth = AVCodecContext.width(pInputCodecCtx); @@ -152,18 +152,18 @@ public static void main(String[] args) { pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate scale context")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate scale context")); } pInputRGBFrame = av_frame_alloc(); pInputTMPFrame = av_frame_alloc(); if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB frame")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate RGB frame")); } if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate TMP frame")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate TMP frame")); } final int inputRGBByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -171,7 +171,7 @@ public static void main(String[] args) { pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, inputRGBByteSize); if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB buffer")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate RGB buffer")); } av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -179,23 +179,23 @@ public static void main(String[] args) { pInputPacket = av_packet_alloc(); if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate packet")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Can't allocate packet")); } pOutputFormatCtx = avformat_alloc_context(); if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate format context")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't allocate format context")); } final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate output format")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't allocate output format")); } if (AVOutputFormat.video_codec(pOutputFormat) == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Video codec not found")); + throw new RuntimeException(encodeVideoError(outputFileName, "Video codec not found")); } AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); @@ -203,13 +203,13 @@ public static void main(String[] args) { final var pOutputCodec = avcodec_find_encoder(AVOutputFormat.video_codec(pOutputFormat)); if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't find encoder")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't find encoder")); } pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec context")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't allocate codec context")); } final var pTimeBase = arena.allocate(AVRational.layout()); @@ -229,21 +229,21 @@ public static void main(String[] args) { final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't create stream")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't create stream")); } if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Unexpected number of streams")); + throw new RuntimeException(encodeVideoError(outputFileName, "Unexpected number of streams")); } final var pOutputCodecParameters = avcodec_parameters_alloc(); if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec parameters")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't allocate codec parameters")); } if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't copy codec parameters")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't copy codec parameters")); } AVCodecParameters.codec_id(pOutputCodecParameters, AVOutputFormat.video_codec(pOutputFormat)); @@ -257,19 +257,19 @@ public static void main(String[] args) { AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open encoder")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't open encoder")); } final var ppOutputAVIOCtx = arena.allocate(C_POINTER); if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open file")); + throw new RuntimeException(encodeVideoError(outputFileName, "Can't open file")); } pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate IO context")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate IO context")); } AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); @@ -277,18 +277,18 @@ public static void main(String[] args) { pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate scale context")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate scale context")); } pOutputRGBFrame = av_frame_alloc(); pOutputYUVFrame = av_frame_alloc(); if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB frame")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate RGB frame")); } if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV frame")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate YUV frame")); } AVFrame.width(pOutputRGBFrame, frameWidth); @@ -308,11 +308,11 @@ public static void main(String[] args) { pOutputYUVBuffer = arena.allocate(outputYUVByteSize); if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB buffer")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate RGB buffer")); } if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV buffer")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate YUV buffer")); } av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -321,17 +321,17 @@ public static void main(String[] args) { final var pOutputPacket = av_packet_alloc(); if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate packet")); + throw new RuntimeException(decodeVideoError(outputFileName, "Can't allocate packet")); } AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); if (inputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Unexpected buffer size")); + throw new RuntimeException(decodeVideoError(sourceFileName, "Unexpected buffer size")); } if (outputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Unexpected buffer size")); + throw new RuntimeException(decodeVideoError(outputFileName, "Unexpected buffer size")); } final byte[] buffer = new byte[outputRGBByteSize]; @@ -449,11 +449,11 @@ public static void main(String[] args) { } } - private static String formatLoadVideoError(String fileName, String message) { - return STR."Decode video error (file = \{fileName}). \{message}"; + private static String decodeVideoError(String fileName, String message) { + return "Decode video error (file = %s). %s".formatted(fileName, message); } - private static String formatSaveVideoError(String fileName, String message) { - return STR."Encode video error (file = \{fileName}). \{message}"; + private static String encodeVideoError(String fileName, String message) { + return "Encode video error (file = %s). %s".formatted(fileName, message); } } \ No newline at end of file diff --git a/ffmpeg4java-linux-examples/pom.xml b/ffmpeg4java-linux-examples/pom.xml deleted file mode 100644 index c47da98..0000000 --- a/ffmpeg4java-linux-examples/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.linux.examples - jar - FFmpeg4Java Linux Examples - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.linux - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.linux - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.so - - - - - - org.codehaus.mojo - exec-maven-plugin - - - run - test - - exec - - - java - - --enable-preview - --enable-native-access=ALL-UNNAMED - -classpath - - -Djava.library.path=${project.build.directory}/lib - com.nextbreakpoint.ffmpeg4java.linux.ConvertVideoMain - sample.mpg - output.mp4 - - - - - - - - diff --git a/ffmpeg4java-linux-test/pom.xml b/ffmpeg4java-linux-test/pom.xml deleted file mode 100644 index 8c59b55..0000000 --- a/ffmpeg4java-linux-test/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.linux.test - jar - FFmpeg4Java Linux Test - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.linux - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.linux - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.so - - - - - - - diff --git a/ffmpeg4java-linux-test/src/test/java/com/nextbreakpoint/ffmpeg4java/linux/FFmpeg4JavaTest.java b/ffmpeg4java-linux-test/src/test/java/com/nextbreakpoint/ffmpeg4java/linux/FFmpeg4JavaTest.java deleted file mode 100644 index dd152ff..0000000 --- a/ffmpeg4java-linux-test/src/test/java/com/nextbreakpoint/ffmpeg4java/linux/FFmpeg4JavaTest.java +++ /dev/null @@ -1,594 +0,0 @@ -package com.nextbreakpoint.ffmpeg4java.linux; - -import org.assertj.core.data.Offset; -import org.junit.jupiter.api.Test; - -import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; -import java.awt.image.DataBufferInt; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.ValueLayout; -import java.util.function.BiConsumer; - -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.linux.Libffmpeg_2.av_image_get_buffer_size; -import static java.lang.foreign.MemorySegment.NULL; -import static org.assertj.core.api.Assertions.assertThat; - -class FFmpeg4JavaTest { - @Test - public void shouldDecode48Frames() { - int frameCount = loadVideo(getFileName("fixture-video-48.mpg"), FFmpeg4JavaTest::printFrame); - assertThat(frameCount).isEqualTo(48); - } - - @Test - public void shouldEncode48Frames() { - int fps = 24; - int frames = 48; - int frameWidth = 640; - int frameHeight = 480; - int frameCount = saveVideo(getFileName("test-video-48.mpg"), fps, frames, frameWidth, frameHeight, FFmpeg4JavaTest::printFrame); - assertThat(frameCount).isEqualTo(frames); - } - - @Test - public void shouldDecodeFrames() throws IOException { - int frameWidth = 640; - int frameHeight = 480; - final BufferedImage image = new BufferedImage(frameWidth, frameHeight, BufferedImage.TYPE_INT_ARGB); - loadVideo(getFileName("fixture-video-48.mpg"), (frameCount, bytes) -> saveFrame(frameCount, image, bytes)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-10.png"))), convertFormat(loadImage(getFileName("test-frame-10.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-20.png"))), convertFormat(loadImage(getFileName("test-frame-20.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-30.png"))), convertFormat(loadImage(getFileName("test-frame-30.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-40.png"))), convertFormat(loadImage(getFileName("test-frame-40.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - } - - @Test - public void shouldEncodeFrames() throws IOException { - int fps = 24; - int frames = 48; - int frameWidth = 640; - int frameHeight = 480; - final BufferedImage image = new BufferedImage(frameWidth, frameHeight, BufferedImage.TYPE_INT_ARGB); - saveVideo(getFileName("test-video-48.mpg"), fps, frames, frameWidth, frameHeight, (frameCount, bytes) -> printFrame(frameCount, bytes, frames)); - loadVideo(getFileName("test-video-48.mpg"), (frameCount, bytes) -> saveFrame(frameCount, image, bytes)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-10.png"))), convertFormat(loadImage(getFileName("test-frame-10.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-20.png"))), convertFormat(loadImage(getFileName("test-frame-20.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-30.png"))), convertFormat(loadImage(getFileName("test-frame-30.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-40.png"))), convertFormat(loadImage(getFileName("test-frame-40.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - } - - private static int loadVideo(String fileName, BiConsumer consumer) { - int frameCount = 0; - - try (var arena = Arena.ofConfined()) { - var ppInputFormatCtx = NULL; - var pInputCodecCtx = NULL; - var pInputSwsContext = NULL; - var pInputRGBFrame = NULL; - var pInputRGBBuffer = NULL; - var pInputTMPFrame = NULL; - var pInputPacket = NULL; - - try { - ppInputFormatCtx = arena.allocate(C_POINTER); - - final var pInputFileName = arena.allocateFrom(fileName); - - if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open file")); - } - - final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); - - if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find stream info")); - } - - av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); - - final int nbStreams = AVFormatContext.nb_streams(pInputFormatCtx); - final var pInputStreams = AVFormatContext.streams(pInputFormatCtx); - - var pInputCodecParameters = NULL; - int videoStreamIndex = -1; - var pInputCodec = NULL; - - for (int i = 0; i < nbStreams; i++) { - final var pStream = pInputStreams.getAtIndex(C_POINTER, i); - - final var pVideoCodecParameters = AVStream.codecpar(pStream); - - final var codecType = AVCodecParameters.codec_type(pVideoCodecParameters); - - if (codecType == AVMEDIA_TYPE_VIDEO()) { - videoStreamIndex = i; - pInputCodecParameters = pVideoCodecParameters; - pInputCodec = avcodec_find_decoder(AVCodecParameters.codec_id(pVideoCodecParameters)); - break; - } - } - - if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find video stream")); - } - - if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find decoder")); - } - - pInputCodecCtx = avcodec_alloc_context3(pInputCodec); - - if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); - } - - if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate codec context")); - } - - if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open decoder")); - } - - final int frameWidth = AVCodecContext.width(pInputCodecCtx); - final int frameHeight = AVCodecContext.height(pInputCodecCtx); - final int pixelFormat = AVCodecContext.pix_fmt(pInputCodecCtx); - - pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); - } - - pInputRGBFrame = av_frame_alloc(); - pInputTMPFrame = av_frame_alloc(); - - if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); - } - - if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate TMP frame")); - } - - final int rgbByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, rgbByteSize); - - if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); - } - - av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputPacket = av_packet_alloc(); - - if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); - } - - if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[rgbByteSize]; - - while (av_read_frame(pInputFormatCtx, pInputPacket) == 0) { - if (AVPacket.stream_index(pInputPacket) == videoStreamIndex) { - if (avcodec_send_packet(pInputCodecCtx, pInputPacket) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - } - } - } - } - - if (avcodec_send_packet(pInputCodecCtx, NULL) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - } - } - } finally { - if (!pInputPacket.equals(NULL)) { - av_packet_unref(pInputPacket); - } - - if (!pInputCodecCtx.equals(NULL)) { - avcodec_close(pInputCodecCtx); - } - - if (!pInputSwsContext.equals(NULL)) { - sws_freeContext(pInputSwsContext); - } - - if (!pInputTMPFrame.equals(NULL)) { - av_free(pInputTMPFrame); - } - - if (!pInputRGBFrame.equals(NULL)) { - av_free(pInputRGBFrame); - } - - if (!ppInputFormatCtx.equals(NULL)) { - avformat_close_input(ppInputFormatCtx); - } - } - } - return frameCount; - } - - private static int saveVideo(String fileName, int fps, int frames, int frameWidth, int frameHeight, BiConsumer consumer) { - int frameCount = 0; - - try (var arena = Arena.ofConfined()) { - var pOutputFormatCtx = NULL; - var pOutputCodecCtx = NULL; - var pOutputAVIOCtx = NULL; - var pOutputSwsContext = NULL; - var pOutputRGBFrame = NULL; - var pOutputYUVFrame = NULL; - var pOutputRGBBuffer = NULL; - var pOutputYUVBuffer = NULL; - - try { - pOutputFormatCtx = avformat_alloc_context(); - - if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate format context")); - } - - final var pOutputFileName = arena.allocateFrom(fileName); - - final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); - - if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate output format")); - } - - final int outputVideoCodec = AVOutputFormat.video_codec(pOutputFormat); - - if (outputVideoCodec == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(fileName, "Video codec not found")); - } - - AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); - - final var pOutputCodec = avcodec_find_encoder(outputVideoCodec); - - if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't find encoder")); - } - - pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); - - if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec context")); - } - - final var pTimeBase = arena.allocate(AVRational.layout()); - AVRational.num(pTimeBase, 1); - AVRational.den(pTimeBase, fps); - - AVCodecContext.codec_id(pOutputCodecCtx, outputVideoCodec); - AVCodecContext.codec_type(pOutputCodecCtx, AVMEDIA_TYPE_VIDEO()); - AVCodecContext.width(pOutputCodecCtx, frameWidth); - AVCodecContext.height(pOutputCodecCtx, frameHeight); - AVCodecContext.pix_fmt(pOutputCodecCtx, AV_PIX_FMT_YUV420P()); - AVCodecContext.time_base(pOutputCodecCtx, pTimeBase); - AVCodecContext.gop_size(pOutputCodecCtx, 4); - AVCodecContext.bit_rate(pOutputCodecCtx, 4096); - AVCodecContext.max_b_frames(pOutputCodecCtx, 2); - - final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); - - if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't create stream")); - } - - if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(fileName, "Unexpected number of streams")); - } - - final var pOutputCodecParameters = avcodec_parameters_alloc(); - - if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec parameters")); - } - - if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); - } - - AVCodecParameters.codec_id(pOutputCodecParameters, outputVideoCodec); - AVCodecParameters.codec_type(pOutputCodecParameters, AVMEDIA_TYPE_VIDEO()); - AVCodecParameters.width(pOutputCodecParameters, frameWidth); - AVCodecParameters.height(pOutputCodecParameters, frameHeight); - AVStream.codecpar(pOutputStream, pOutputCodecParameters); - AVStream.time_base(pOutputStream, pTimeBase); - - final var pOutputProperties = av_stream_new_side_data(pOutputStream, AV_PKT_DATA_CPB_PROPERTIES(), AVCPBProperties.sizeof()); - AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); - - if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open encoder")); - } - - final var ppOutputAVIOCtx = arena.allocate(C_POINTER); - - if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open file")); - } - - pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); - - if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate IO context")); - } - - AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); - - pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); - } - - pOutputRGBFrame = av_frame_alloc(); - pOutputYUVFrame = av_frame_alloc(); - - if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); - } - - if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV frame")); - } - - AVFrame.width(pOutputRGBFrame, frameWidth); - AVFrame.height(pOutputRGBFrame, frameHeight); - AVFrame.format(pOutputRGBFrame, AV_PIX_FMT_RGB24()); - AVFrame.width(pOutputYUVFrame, frameWidth); - AVFrame.height(pOutputYUVFrame, frameHeight); - AVFrame.format(pOutputYUVFrame, AV_PIX_FMT_YUV420P()); - - av_image_alloc(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), frameWidth, frameHeight, AV_PIX_FMT_RGB24(), 1); - av_image_alloc(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), 1); - - final int rgbByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - final int yuvByteSize = av_image_get_buffer_size(AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - pOutputRGBBuffer = arena.allocate(rgbByteSize); - pOutputYUVBuffer = arena.allocate(yuvByteSize); - - if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); - } - - if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV buffer")); - } - - av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - av_image_fill_arrays(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), pOutputYUVBuffer, AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - final var pOutputPacket = av_packet_alloc(); - - if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); - } - - AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); - - if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[rgbByteSize]; - - avformat_write_header(pOutputFormatCtx, NULL); - - for (int frame = 0; frame < frames; frame++) { - final var pOutputData = AVFrame.data(pOutputRGBFrame); - fillPixels(buffer, frameWidth, frameHeight, ((float) frame / (frames - 1))); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - - if (avcodec_send_frame(pOutputCodecCtx, NULL) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - - av_write_trailer(pOutputFormatCtx); - } finally { - if (!pOutputAVIOCtx.equals(NULL)) { - avio_close(pOutputAVIOCtx); - } - - if (!pOutputCodecCtx.equals(NULL)) { - avcodec_close(pOutputCodecCtx); - } - - if (!pOutputSwsContext.equals(NULL)) { - sws_freeContext(pOutputSwsContext); - } - - if (!pOutputYUVFrame.equals(NULL)) { - av_free(pOutputYUVFrame); - } - - if (!pOutputRGBFrame.equals(NULL)) { - av_free(pOutputRGBFrame); - } - - if (!pOutputFormatCtx.equals(NULL)) { - avformat_free_context(pOutputFormatCtx); - } - } - } - - return frameCount; - } - - private static String formatLoadVideoError(String fileName, String message) { - return STR."Load video failed (file = \{fileName}). \{message}"; - } - - private static String formatSaveVideoError(String fileName, String message) { - return STR."Save video failed (file = \{fileName}). \{message}"; - } - - private static void fillPixels(byte[] data, int width, int height, float color) { - byte p = (byte) (255 * color); - for (int x = 0; x < width; x += 1) { - for (int y = 0; y < height; y += 1) { - int j = (y * width + x) * 3; - if ((x / 5) % 2 == 0 || (y / 5) % 2 == 1) { - data[j + 0] = p; - data[j + 1] = p; - data[j + 2] = p; - } else { - data[j + 0] = 0; - data[j + 1] = 0; - data[j + 2] = 0; - } - } - } - } - - private static void writeImage(BufferedImage image, int frame, String name) { - if (frame % 10 == 0) { - try (FileOutputStream output = new FileOutputStream(name)) { - ImageIO.write(image, "png", output); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - private static void copyPixelsIntoImage(byte[] data, BufferedImage image) { - int[] rgb_data = ((DataBufferInt) image.getData().getDataBuffer()).getData(); - for (int t = 0, k = 0; k < data.length; k += 3) { - rgb_data[t++] = 0xFF000000 | ((((int) data[k]) << 16) & 0x00FF0000) | ((((int) data[k]) << 8) & 0x0000FF00) | ((((int) data[k])) & 0x000000FF); - } - image.setRGB(0, 0, image.getWidth(), image.getHeight(), rgb_data, 0, image.getWidth()); - } - - private static int[] loadImage(String file) throws IOException { - BufferedImage image = ImageIO.read(new File(file)); - return image.getRGB(0, 0, image.getWidth(), image.getHeight(), null, 0, image.getWidth()); - } - - private static double error(byte[] data1, byte[] data2) { - double error = 0; - for (int j = 0; j < data1.length; j += 3) { - error += distance(data1, data2, j); - } - return error / (data1.length / 3.0); - } - - private static double distance(byte[] data1, byte[] data2, int i) { - return Math.sqrt(Math.pow(data1[i + 0] - data2[i + 0], 2) + Math.pow(data1[i + 1] - data2[i + 1], 2) + Math.pow(data1[i + 2] - data2[i + 2], 2)); - } - - private static byte[] convertFormat(int[] data) { - byte[] buffer = new byte[data.length * 3]; - for (int j = 0; j < data.length; j += 1) { - buffer[j * 3 + 0] = (byte) (data[j] >> 16); - buffer[j * 3 + 1] = (byte) (data[j] >> 8); - buffer[j * 3 + 2] = (byte) (data[j] >> 0); - } - return buffer; - } - - private static void printFrame(int frameCount, byte[] bytes) { - System.out.println(STR."Frame \{frameCount}"); - } - - private static void printFrame(int frameCount, byte[] bytes, int frames) { - System.out.println(STR."Frame \{frameCount} [ \{frameCount * 100 / frames}% ]"); - } - - private static String getFileName(String file) { - return STR."\{System.getProperty("basedir", ".")}/\{file}"; - } - - private static void saveFrame(Integer frameCount, BufferedImage image, byte[] bytes) { - copyPixelsIntoImage(bytes, image); - writeImage(image, frameCount, getFileName(STR."test-frame-\{frameCount}.png")); - } -} \ No newline at end of file diff --git a/ffmpeg4java-linux/extract.sh b/ffmpeg4java-linux/extract.sh index 938cc29..0b4f75b 100755 --- a/ffmpeg4java-linux/extract.sh +++ b/ffmpeg4java-linux/extract.sh @@ -6,7 +6,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin jextract @includes.txt \ --output src/main/java \ - --target-package com.nextbreakpoint.ffmpeg4java.linux \ + --target-package com.nextbreakpoint.ffmpeg4java \ --include-dir "${FFMPEG_HOME}" \ --use-system-load-library \ --library ffmpeg4java \ diff --git a/ffmpeg4java-linux/pom.xml b/ffmpeg4java-linux/pom.xml index 7651bf7..05a20ef 100644 --- a/ffmpeg4java-linux/pom.xml +++ b/ffmpeg4java-linux/pom.xml @@ -4,7 +4,7 @@ com.nextbreakpoint com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 + 7.0.1-1.2 com.nextbreakpoint.ffmpeg4java.linux jar diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVBufferRef.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVBufferRef.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java index 2bc01fa..798fdec 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVBufferRef.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCPBProperties.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCPBProperties.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java index 8fa8870..93acc2f 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCPBProperties.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelCustom.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelCustom.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java index 7759821..0b26dd6 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelCustom.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelLayout.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelLayout.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java index 9fa3fab..0892cd3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelLayout.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChapter.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChapter.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java index 1870d38..7942307 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChapter.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVClass.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVClass.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java index 763628b..ef6c19d 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVClass.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodec.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodec.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java index 773c9d4..3679060 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodec.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java index 705f791..97258b7 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecDescriptor.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecDescriptor.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java index 84f1d9d..260225e 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecDescriptor.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecHWConfig.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecHWConfig.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java index 205fb3c..379dc37 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecHWConfig.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParameters.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParameters.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java index 92b3428..53324a5 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParameters.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParser.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParser.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java index 8986ce9..1da05c6 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParser.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParserContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParserContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java index 0aeb52e..adbfaa7 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecParserContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVComponentDescriptor.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVComponentDescriptor.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java index c0c3358..a532085 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVComponentDescriptor.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfo.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfo.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java index 37764b2..1178f5a 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfo.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfoList.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfoList.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java index 969cf29..a0d75dd 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceInfoList.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceRect.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceRect.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java index 277a912..4cde344 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceRect.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDictionaryEntry.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDictionaryEntry.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java index 8c16009..683cea7 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDictionaryEntry.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilter.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilter.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java index daa3af0..d79ef34 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilter.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterChain.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterChain.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java index 9f20c21..6956356 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterChain.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java index 3c5ac16..718ef5f 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterFormatsConfig.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterFormatsConfig.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java index ac612c1..67bbb6c 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterFormatsConfig.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraph.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraph.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java index 95b2c69..6b49273 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraph.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraphSegment.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraphSegment.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java index 7d6af2f..714ad18 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterGraphSegment.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterInOut.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterInOut.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java index 3d3388b..6501b7c 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterInOut.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterLink.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterLink.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java index a98e260..34ad3ad 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterLink.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterPadParams.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java similarity index 98% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterPadParams.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java index 3055ff0..b1cd7fd 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterPadParams.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterParams.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterParams.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java index 8e0010c..010b9f0 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterParams.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFormatContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFormatContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java index 575257e..9f7b07f 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFormatContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrame.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrame.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java index 6ff33e9..3732841 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrame.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrameSideData.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrameSideData.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java index 334b05b..aaf3149 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrameSideData.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWAccel.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWAccel.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java index a7354f9..6fd8731 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWAccel.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWDeviceContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWDeviceContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java index f5858ab..516c53d 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWDeviceContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesConstraints.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesConstraints.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java index 3801dd9..6d22e25 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesConstraints.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java index 607c3da..3497897 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOContext.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOContext.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java index cace408..4c58e98 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOContext.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIODirEntry.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIODirEntry.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java index 17e69ad..1f00ba3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIODirEntry.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOInterruptCB.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOInterruptCB.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java index 5ec83eb..a521135 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIOInterruptCB.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIndexEntry.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIndexEntry.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java index b21ad5e..d511d49 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVIndexEntry.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVInputFormat.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVInputFormat.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java index 86eb23b..f2defff 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVInputFormat.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOpenCallback.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOpenCallback.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java index cc4f5c8..643d7ea 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOpenCallback.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOption.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOption.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java index c8b9a86..c38124f 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOption.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionArrayDef.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionArrayDef.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java index 6bd5739..fcfc738 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionArrayDef.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRange.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRange.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java index 3583050..f30e365 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRange.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRanges.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRanges.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java index d1fb657..1bef27a 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionRanges.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOutputFormat.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOutputFormat.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java index 6fe97a5..33b5c5b 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOutputFormat.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacket.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacket.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java index 1fac98b..56da977 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacket.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketList.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketList.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java index c36870f..2107496 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketList.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketSideData.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketSideData.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java index 6d97fc5..4dc6da3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPacketSideData.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPanScan.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPanScan.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java index 3f06651..38575f0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPanScan.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPixFmtDescriptor.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPixFmtDescriptor.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java index c0dc053..6d60a46 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPixFmtDescriptor.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProbeData.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProbeData.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java index 8cd7037..7424394 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProbeData.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProducerReferenceTime.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProducerReferenceTime.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java index 5787765..7e9d92a 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProducerReferenceTime.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProfile.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProfile.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java index c54915e..4ed5725 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProfile.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProgram.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProgram.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java index 610b584..76ce293 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProgram.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRational.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java similarity index 98% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRational.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java index 8b9e84a..a3aa8b3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRational.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRegionOfInterest.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRegionOfInterest.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java index ae339a0..f9ac4e0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRegionOfInterest.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStream.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStream.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java index 7af3954..b577e52 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStream.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroup.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroup.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java index 5ecc8bc..a8fb7b3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroup.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroupTileGrid.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroupTileGrid.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java index f2c59f8..88ba17b 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVStreamGroupTileGrid.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitle.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitle.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java index af69699..ddd0d65 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitle.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitleRect.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitleRect.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java index d9aff69..4d5fb00 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVSubtitleRect.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java index 5cbdfa8..47dd5f5 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_1.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_1.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java index cc50590..a301331 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_1.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_2.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_2.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java index c956c7f..85edea7 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/Libffmpeg_2.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/RcOverride.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/RcOverride.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java index 5f131e4..c20f227 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/RcOverride.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsFilter.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsFilter.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java index 21b685d..e34e594 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsFilter.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsVector.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsVector.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java index c6e7d43..3d123ff 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsVector.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_create$free.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_create$free.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java index 5a41e74..77dff7c 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_create$free.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init$alloc.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init$alloc.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java index ff17609..f3725d5 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init$alloc.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$alloc.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$alloc.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java index db9f964..d829ccb 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$alloc.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$pool_free.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$pool_free.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java index 598d9f2..18ff37b 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init2$pool_free.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_format_control_message.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_format_control_message.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java index c59e60c..c733ac3 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_format_control_message.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat32.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java similarity index 98% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat32.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java index 6abe823..e10b45b 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat32.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat64.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java similarity index 98% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat64.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java index 51a1710..35d8cfc 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat64.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_log_set_callback$callback.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_log_set_callback$callback.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java index 57ce694..2345d41 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_log_set_callback$callback.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute$func.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute$func.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java index 68ca6b0..ea9b1f5 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute$func.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute2$func.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute2$func.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java index 5cca743..030cd52 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avcodec_default_execute2$func.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_action_func.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_action_func.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java index 5f47502..c71c86d 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_action_func.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_execute_func.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_execute_func.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java index ac56e7d..37eaf39 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_execute_func.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$read_packet.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$read_packet.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java index 9a525bb..f6132d7 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$read_packet.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$seek.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$seek.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java index 68c791f..36210b2 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$seek.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$write_packet.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$write_packet.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java index 95374ac..e873d91 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$write_packet.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/max_align_t.java b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/max_align_t.java similarity index 98% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/max_align_t.java rename to ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/max_align_t.java index 47e914f..16db848 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/max_align_t.java +++ b/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/max_align_t.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/module-info.java b/ffmpeg4java-linux/src/main/java/module-info.java index 905e184..baed010 100644 --- a/ffmpeg4java-linux/src/main/java/module-info.java +++ b/ffmpeg4java-linux/src/main/java/module-info.java @@ -1,3 +1,3 @@ -module com.nextbreakpoint.ffmpeg4java.linux { - exports com.nextbreakpoint.ffmpeg4java.linux; +module com.nextbreakpoint.ffmpeg4java { + exports com.nextbreakpoint.ffmpeg4java; } \ No newline at end of file diff --git a/ffmpeg4java-macos-examples/pom.xml b/ffmpeg4java-macos-examples/pom.xml deleted file mode 100644 index 4100d7d..0000000 --- a/ffmpeg4java-macos-examples/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.macos.examples - jar - FFmpeg4Java MacOS Examples - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.macos - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.macos - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.dylib - - - - - - org.codehaus.mojo - exec-maven-plugin - - - run - test - - exec - - - java - - --enable-preview - --enable-native-access=ALL-UNNAMED - -classpath - - -Djava.library.path=${project.build.directory}/lib - com.nextbreakpoint.ffmpeg4java.macos.ConvertVideoMain - sample.mpg - output.mp4 - - - - - - - - diff --git a/ffmpeg4java-macos-examples/sample.mpg b/ffmpeg4java-macos-examples/sample.mpg deleted file mode 100644 index 6e166a8..0000000 Binary files a/ffmpeg4java-macos-examples/sample.mpg and /dev/null differ diff --git a/ffmpeg4java-macos-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/ConvertVideoMain.java b/ffmpeg4java-macos-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/ConvertVideoMain.java deleted file mode 100644 index 13793b3..0000000 --- a/ffmpeg4java-macos-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/ConvertVideoMain.java +++ /dev/null @@ -1,459 +0,0 @@ -package com.nextbreakpoint.ffmpeg4java.macos; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.ValueLayout; - -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_get_buffer_size; -import static java.lang.foreign.MemorySegment.NULL; - -class ConvertVideoMain { - public static void main(String[] args) { - if (args.length < 2) { - throw new IllegalArgumentException("Invalid arguments"); - } - - final String sourceFileName = args[0]; - final String outputFileName = args[1]; - - System.out.println("Converting video..."); - - System.out.println(STR."Source file \{sourceFileName}"); - System.out.println(STR."Output file \{outputFileName}"); - - try (var arena = Arena.ofConfined()) { - var pInputFileName = arena.allocateFrom(sourceFileName); - var pOutputFileName = arena.allocateFrom(outputFileName); - - var ppInputFormatCtx = NULL; - var pInputCodecCtx = NULL; - var pInputSwsContext = NULL; - var pInputRGBFrame = NULL; - var pInputTMPFrame = NULL; - var pInputRGBBuffer = NULL; - var pInputPacket = NULL; - var pOutputFormatCtx = NULL; - var pOutputCodecCtx = NULL; - var pOutputAVIOCtx = NULL; - var pOutputSwsContext = NULL; - var pOutputRGBFrame = NULL; - var pOutputYUVFrame = NULL; - var pOutputRGBBuffer = NULL; - var pOutputYUVBuffer = NULL; - - try { - ppInputFormatCtx = arena.allocate(C_POINTER); - - if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open file")); - } - - final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); - - if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find stream info")); - } - - av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); - - final int inputNbStreams = AVFormatContext.nb_streams(pInputFormatCtx); - final var pInputStreams = AVFormatContext.streams(pInputFormatCtx); - - var pInputCodecParameters = NULL; - int videoStreamIndex = -1; - var pInputCodec = NULL; - - for (int i = 0; i < inputNbStreams; i++) { - final var pStream = pInputStreams.getAtIndex(C_POINTER, i); - - final var pVideoCodecParameters = AVStream.codecpar(pStream); - - final var codecType = AVCodecParameters.codec_type(pVideoCodecParameters); - - if (codecType == AVMEDIA_TYPE_VIDEO()) { - videoStreamIndex = i; - pInputCodecParameters = pVideoCodecParameters; - pInputCodec = avcodec_find_decoder(AVCodecParameters.codec_id(pVideoCodecParameters)); - break; - } - } - - if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find video stream")); - } - - if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find decoder")); - } - - pInputCodecCtx = avcodec_alloc_context3(pInputCodec); - - if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't copy codec parameters")); - } - - if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate codec context")); - } - - if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open decoder")); - } - - final int frameWidth = AVCodecContext.width(pInputCodecCtx); - final int frameHeight = AVCodecContext.height(pInputCodecCtx); - final int pixelFormat = AVCodecContext.pix_fmt(pInputCodecCtx); - - pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate scale context")); - } - - pInputRGBFrame = av_frame_alloc(); - pInputTMPFrame = av_frame_alloc(); - - if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB frame")); - } - - if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate TMP frame")); - } - - final int inputRGBByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, inputRGBByteSize); - - if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB buffer")); - } - - av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputPacket = av_packet_alloc(); - - if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate packet")); - } - - pOutputFormatCtx = avformat_alloc_context(); - - if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate format context")); - } - - final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); - - if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate output format")); - } - - if (AVOutputFormat.video_codec(pOutputFormat) == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Video codec not found")); - } - - AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); - - final var pOutputCodec = avcodec_find_encoder(AVOutputFormat.video_codec(pOutputFormat)); - - if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't find encoder")); - } - - pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); - - if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec context")); - } - - final var pTimeBase = arena.allocate(AVRational.layout()); - AVRational.num(pTimeBase, 1); - AVRational.den(pTimeBase, 24); - - AVCodecContext.codec_id(pOutputCodecCtx, AVOutputFormat.video_codec(pOutputFormat)); - AVCodecContext.codec_type(pOutputCodecCtx, AVMEDIA_TYPE_VIDEO()); - AVCodecContext.width(pOutputCodecCtx, frameWidth); - AVCodecContext.height(pOutputCodecCtx, frameHeight); - AVCodecContext.pix_fmt(pOutputCodecCtx, AV_PIX_FMT_YUV420P()); - AVCodecContext.time_base(pOutputCodecCtx, pTimeBase); - AVCodecContext.gop_size(pOutputCodecCtx, 4); - AVCodecContext.bit_rate(pOutputCodecCtx, 4096); - AVCodecContext.max_b_frames(pOutputCodecCtx, 2); - - final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); - - if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't create stream")); - } - - if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Unexpected number of streams")); - } - - final var pOutputCodecParameters = avcodec_parameters_alloc(); - - if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec parameters")); - } - - if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't copy codec parameters")); - } - - AVCodecParameters.codec_id(pOutputCodecParameters, AVOutputFormat.video_codec(pOutputFormat)); - AVCodecParameters.codec_type(pOutputCodecParameters, AVMEDIA_TYPE_VIDEO()); - AVCodecParameters.width(pOutputCodecParameters, frameWidth); - AVCodecParameters.height(pOutputCodecParameters, frameHeight); - AVStream.codecpar(pOutputStream, pOutputCodecParameters); - AVStream.time_base(pOutputStream, pTimeBase); - - final var pOutputProperties = av_stream_new_side_data(pOutputStream, AV_PKT_DATA_CPB_PROPERTIES(), AVCPBProperties.sizeof()); - AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); - - if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open encoder")); - } - - final var ppOutputAVIOCtx = arena.allocate(C_POINTER); - - if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open file")); - } - - pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); - - if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate IO context")); - } - - AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); - - pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate scale context")); - } - - pOutputRGBFrame = av_frame_alloc(); - pOutputYUVFrame = av_frame_alloc(); - - if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB frame")); - } - - if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV frame")); - } - - AVFrame.width(pOutputRGBFrame, frameWidth); - AVFrame.height(pOutputRGBFrame, frameHeight); - AVFrame.format(pOutputRGBFrame, AV_PIX_FMT_RGB24()); - AVFrame.width(pOutputYUVFrame, frameWidth); - AVFrame.height(pOutputYUVFrame, frameHeight); - AVFrame.format(pOutputYUVFrame, AV_PIX_FMT_YUV420P()); - - av_image_alloc(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), frameWidth, frameHeight, AV_PIX_FMT_RGB24(), 1); - av_image_alloc(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), 1); - - final int outputRGBByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - final int outputYUVByteSize = av_image_get_buffer_size(AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - pOutputRGBBuffer = arena.allocate(outputRGBByteSize); - pOutputYUVBuffer = arena.allocate(outputYUVByteSize); - - if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB buffer")); - } - - if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV buffer")); - } - - av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - av_image_fill_arrays(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), pOutputYUVBuffer, AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - final var pOutputPacket = av_packet_alloc(); - - if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate packet")); - } - - AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); - - if (inputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Unexpected buffer size")); - } - - if (outputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[outputRGBByteSize]; - - avformat_write_header(pOutputFormatCtx, NULL); - - while (av_read_frame(pInputFormatCtx, pInputPacket) == 0) { - if (AVPacket.stream_index(pInputPacket) == videoStreamIndex) { - if (avcodec_send_packet(pInputCodecCtx, pInputPacket) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, inputRGBByteSize); - - final var pOutputData = AVFrame.data(pOutputRGBFrame); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, outputRGBByteSize); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - } - } - } - - if (avcodec_send_packet(pInputCodecCtx, NULL) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, inputRGBByteSize); - - final var pOutputData = AVFrame.data(pOutputRGBFrame); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, outputRGBByteSize); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - } - - if (avcodec_send_frame(pOutputCodecCtx, NULL) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - - av_write_trailer(pOutputFormatCtx); - } finally { - if (!pInputPacket.equals(NULL)) { - av_packet_unref(pInputPacket); - } - - if (!pInputCodecCtx.equals(NULL)) { - avcodec_close(pInputCodecCtx); - } - - if (!pInputSwsContext.equals(NULL)) { - sws_freeContext(pInputSwsContext); - } - - if (!pInputTMPFrame.equals(NULL)) { - av_free(pInputTMPFrame); - } - - if (!pInputRGBFrame.equals(NULL)) { - av_free(pInputRGBFrame); - } - - if (!ppInputFormatCtx.equals(NULL)) { - avformat_close_input(ppInputFormatCtx); - } - - if (!pOutputAVIOCtx.equals(NULL)) { - avio_close(pOutputAVIOCtx); - } - - if (!pOutputCodecCtx.equals(NULL)) { - avcodec_close(pOutputCodecCtx); - } - - if (!pOutputSwsContext.equals(NULL)) { - sws_freeContext(pOutputSwsContext); - } - - if (!pOutputYUVFrame.equals(NULL)) { - av_free(pOutputYUVFrame); - } - - if (!pOutputRGBFrame.equals(NULL)) { - av_free(pOutputRGBFrame); - } - - if (!pOutputFormatCtx.equals(NULL)) { - avformat_free_context(pOutputFormatCtx); - } - } - - System.out.println("Video converted"); - } - } - - private static String formatLoadVideoError(String fileName, String message) { - return STR."Decode video error (file = \{fileName}). \{message}"; - } - - private static String formatSaveVideoError(String fileName, String message) { - return STR."Encode video error (file = \{fileName}). \{message}"; - } -} \ No newline at end of file diff --git a/ffmpeg4java-macos-test/fixture-frame-10.png b/ffmpeg4java-macos-test/fixture-frame-10.png deleted file mode 100644 index afa1bab..0000000 Binary files a/ffmpeg4java-macos-test/fixture-frame-10.png and /dev/null differ diff --git a/ffmpeg4java-macos-test/fixture-frame-20.png b/ffmpeg4java-macos-test/fixture-frame-20.png deleted file mode 100644 index ed6c116..0000000 Binary files a/ffmpeg4java-macos-test/fixture-frame-20.png and /dev/null differ diff --git a/ffmpeg4java-macos-test/fixture-frame-30.png b/ffmpeg4java-macos-test/fixture-frame-30.png deleted file mode 100644 index bcd577d..0000000 Binary files a/ffmpeg4java-macos-test/fixture-frame-30.png and /dev/null differ diff --git a/ffmpeg4java-macos-test/fixture-frame-40.png b/ffmpeg4java-macos-test/fixture-frame-40.png deleted file mode 100644 index 3017212..0000000 Binary files a/ffmpeg4java-macos-test/fixture-frame-40.png and /dev/null differ diff --git a/ffmpeg4java-macos-test/fixture-video-48.mpg b/ffmpeg4java-macos-test/fixture-video-48.mpg deleted file mode 100644 index b331d1c..0000000 Binary files a/ffmpeg4java-macos-test/fixture-video-48.mpg and /dev/null differ diff --git a/ffmpeg4java-macos-test/pom.xml b/ffmpeg4java-macos-test/pom.xml deleted file mode 100644 index bcafc44..0000000 --- a/ffmpeg4java-macos-test/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.macos.test - jar - FFmpeg4Java MacOS Test - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.macos - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.macos - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.dylib - - - - - - - diff --git a/ffmpeg4java-macos/extract.sh b/ffmpeg4java-macos/extract.sh index 50fe87b..0b4f75b 100755 --- a/ffmpeg4java-macos/extract.sh +++ b/ffmpeg4java-macos/extract.sh @@ -6,7 +6,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin jextract @includes.txt \ --output src/main/java \ - --target-package com.nextbreakpoint.ffmpeg4java.macos \ + --target-package com.nextbreakpoint.ffmpeg4java \ --include-dir "${FFMPEG_HOME}" \ --use-system-load-library \ --library ffmpeg4java \ diff --git a/ffmpeg4java-macos/pom.xml b/ffmpeg4java-macos/pom.xml index 58d7090..bb9ff64 100644 --- a/ffmpeg4java-macos/pom.xml +++ b/ffmpeg4java-macos/pom.xml @@ -4,7 +4,7 @@ com.nextbreakpoint com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 + 7.0.1-1.2 com.nextbreakpoint.ffmpeg4java.macos jar diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVBufferRef.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVBufferRef.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java index 519a915..798fdec 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVBufferRef.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCPBProperties.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCPBProperties.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java index a3c5b42..7daf5eb 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCPBProperties.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelCustom.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelCustom.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java index ed4741d..0b26dd6 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVChannelCustom.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelLayout.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelLayout.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java index 023deec..b033af9 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChannelLayout.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChapter.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChapter.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java index e3e9fd5..d4f10e0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVChapter.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVClass.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVClass.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java index 3f06399..ef6c19d 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVClass.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodec.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodec.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java index ad8d168..3679060 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodec.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java index a2b3a41..5d3efce 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecDescriptor.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecDescriptor.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java index 8c77062..260225e 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecDescriptor.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecHWConfig.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecHWConfig.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java index ec702de..379dc37 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVCodecHWConfig.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParameters.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParameters.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java index 5c6b77a..c51b4a0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParameters.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParser.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParser.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java index a7200b2..1da05c6 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParser.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParserContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParserContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java index 3a60961..29f8729 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVCodecParserContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVComponentDescriptor.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVComponentDescriptor.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java index 219d7fa..a532085 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVComponentDescriptor.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfo.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfo.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java index b341c29..1178f5a 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfo.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfoList.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfoList.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java index 56c7f19..a0d75dd 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVDeviceInfoList.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceRect.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceRect.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java index 5086e46..4cde344 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDeviceRect.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDictionaryEntry.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDictionaryEntry.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java index c7ed97d..683cea7 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVDictionaryEntry.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilter.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilter.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java index 281a5f9..d79ef34 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilter.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterChain.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterChain.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java index 28d1dfe..6956356 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterChain.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java index a6231d1..718ef5f 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterFormatsConfig.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterFormatsConfig.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java index 0c8d93d..67bbb6c 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterFormatsConfig.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraph.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraph.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java index fa188e7..6b49273 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraph.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraphSegment.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraphSegment.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java index 8d6f4c9..714ad18 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterGraphSegment.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterInOut.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterInOut.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java index 3659f80..6501b7c 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFilterInOut.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterLink.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterLink.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java index 895a183..1fa3a85 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterLink.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterPadParams.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java similarity index 98% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterPadParams.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java index 8780296..b1cd7fd 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterPadParams.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterParams.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterParams.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java index 528c386..010b9f0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFilterParams.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFormatContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFormatContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java index 63b4c6d..2a0e983 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFormatContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrame.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrame.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java index 5009f43..4073c09 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVFrame.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrameSideData.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrameSideData.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java index 99fa7c7..aaf3149 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVFrameSideData.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWAccel.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWAccel.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java index bb03155..6fd8731 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWAccel.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWDeviceContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWDeviceContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java index 27fd7b1..516c53d 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWDeviceContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesConstraints.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesConstraints.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java index 87af5d0..6d22e25 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVHWFramesConstraints.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java index 49f350c..3497897 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVHWFramesContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOContext.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOContext.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java index 343d59e..184b5fb 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOContext.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIODirEntry.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIODirEntry.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java index 688c507..e64a08e 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIODirEntry.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOInterruptCB.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOInterruptCB.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java index 32ec6d9..a521135 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIOInterruptCB.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIndexEntry.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIndexEntry.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java index d6cb70a..fda9437 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVIndexEntry.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVInputFormat.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVInputFormat.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java index 1fa18d0..f2defff 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVInputFormat.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOpenCallback.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOpenCallback.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java index a59d3e4..643d7ea 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOpenCallback.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOption.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOption.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java index f34965b..135b7c0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOption.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionArrayDef.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionArrayDef.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java index 93ca0f5..fcfc738 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVOptionArrayDef.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRange.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRange.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java index aad3968..f30e365 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRange.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRanges.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRanges.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java index d947d0f..1bef27a 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOptionRanges.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOutputFormat.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOutputFormat.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java index ff0efc1..33b5c5b 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVOutputFormat.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacket.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacket.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java index 790ffd5..e80349a 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacket.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketList.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketList.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java index 67735c0..2107496 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketList.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketSideData.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketSideData.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java index 8130f21..4dc6da3 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPacketSideData.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPanScan.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPanScan.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java index 891353d..38575f0 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVPanScan.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPixFmtDescriptor.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPixFmtDescriptor.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java index 92c5095..114be23 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVPixFmtDescriptor.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProbeData.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProbeData.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java index bc95abf..7424394 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVProbeData.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProducerReferenceTime.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProducerReferenceTime.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java index 6ef7481..eb9b61e 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProducerReferenceTime.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProfile.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProfile.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java index e52f029..4ed5725 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProfile.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProgram.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProgram.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java index 9f60122..d8d3b76 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVProgram.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRational.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java similarity index 98% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRational.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java index 76a242d..a3aa8b3 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVRational.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRegionOfInterest.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRegionOfInterest.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java index 81c162a..f9ac4e0 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/AVRegionOfInterest.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStream.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStream.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java index 191a20c..bacf319 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStream.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroup.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroup.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java index 966fb0c..670851a 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroup.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroupTileGrid.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroupTileGrid.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java index 953794b..88ba17b 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVStreamGroupTileGrid.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitle.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitle.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java index 588d10b..de2c6f0 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitle.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitleRect.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitleRect.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java index 86fc073..4d5fb00 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/AVSubtitleRect.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java index 79c543c..7c55b7c 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_1.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_1.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java index d1b6b04..891241b 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_1.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_2.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_2.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java index e8b6c05..bf8a5ea 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/Libffmpeg_2.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/RcOverride.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/RcOverride.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java index ad8a1ee..c20f227 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/RcOverride.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsFilter.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsFilter.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java index 56a07ed..e34e594 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/SwsFilter.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsVector.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java similarity index 99% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsVector.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java index 5cca146..3d123ff 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/SwsVector.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_create$free.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_create$free.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java index c4e1b2f..77dff7c 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_create$free.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init$alloc.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init$alloc.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java index 2d7d8d5..f3725d5 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_buffer_pool_init$alloc.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$alloc.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$alloc.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java index c7aa86f..d829ccb 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$alloc.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$pool_free.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$pool_free.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java index 325c697..18ff37b 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_buffer_pool_init2$pool_free.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_format_control_message.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java similarity index 99% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_format_control_message.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java index de585b5..c733ac3 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_format_control_message.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat32.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java similarity index 98% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat32.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java index 151abd8..e10b45b 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/av_intfloat32.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat64.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java similarity index 98% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat64.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java index c0c080a..5c9c235 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_intfloat64.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_log_set_callback$callback.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_log_set_callback$callback.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java index c0a21d2..2345d41 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/av_log_set_callback$callback.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute$func.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute$func.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java index b6dcd11..ea9b1f5 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute$func.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute2$func.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute2$func.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java index 19563f2..030cd52 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avcodec_default_execute2$func.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_action_func.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_action_func.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java index 3ec1b31..c71c86d 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avfilter_action_func.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_execute_func.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_execute_func.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java index 441a069..37eaf39 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avfilter_execute_func.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$read_packet.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$read_packet.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java index e4aaeb5..f6132d7 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$read_packet.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$seek.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java similarity index 97% rename from ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$seek.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java index 9df6865..25aea59 100644 --- a/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/macos/avio_alloc_context$seek.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$write_packet.java b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java similarity index 97% rename from ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$write_packet.java rename to ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java index 86528ff..e873d91 100644 --- a/ffmpeg4java-linux/src/main/java/com/nextbreakpoint/ffmpeg4java/linux/avio_alloc_context$write_packet.java +++ b/ffmpeg4java-macos/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.linux; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-macos/src/main/java/module-info.java b/ffmpeg4java-macos/src/main/java/module-info.java index bd8f98b..baed010 100644 --- a/ffmpeg4java-macos/src/main/java/module-info.java +++ b/ffmpeg4java-macos/src/main/java/module-info.java @@ -1,3 +1,3 @@ -module com.nextbreakpoint.ffmpeg4java.macos { - exports com.nextbreakpoint.ffmpeg4java.macos; +module com.nextbreakpoint.ffmpeg4java { + exports com.nextbreakpoint.ffmpeg4java; } \ No newline at end of file diff --git a/ffmpeg4java-linux-test/fixture-frame-10.png b/ffmpeg4java-tests/fixture-frame-10.png similarity index 100% rename from ffmpeg4java-linux-test/fixture-frame-10.png rename to ffmpeg4java-tests/fixture-frame-10.png diff --git a/ffmpeg4java-linux-test/fixture-frame-20.png b/ffmpeg4java-tests/fixture-frame-20.png similarity index 100% rename from ffmpeg4java-linux-test/fixture-frame-20.png rename to ffmpeg4java-tests/fixture-frame-20.png diff --git a/ffmpeg4java-linux-test/fixture-frame-30.png b/ffmpeg4java-tests/fixture-frame-30.png similarity index 100% rename from ffmpeg4java-linux-test/fixture-frame-30.png rename to ffmpeg4java-tests/fixture-frame-30.png diff --git a/ffmpeg4java-linux-test/fixture-frame-40.png b/ffmpeg4java-tests/fixture-frame-40.png similarity index 100% rename from ffmpeg4java-linux-test/fixture-frame-40.png rename to ffmpeg4java-tests/fixture-frame-40.png diff --git a/ffmpeg4java-linux-test/fixture-video-48.mpg b/ffmpeg4java-tests/fixture-video-48.mpg similarity index 100% rename from ffmpeg4java-linux-test/fixture-video-48.mpg rename to ffmpeg4java-tests/fixture-video-48.mpg diff --git a/ffmpeg4java-tests/pom.xml b/ffmpeg4java-tests/pom.xml new file mode 100644 index 0000000..570870f --- /dev/null +++ b/ffmpeg4java-tests/pom.xml @@ -0,0 +1,147 @@ + + 4.0.0 + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java + 7.0.1-1.2 + + com.nextbreakpoint.ffmpeg4java.tests + jar + FFmpeg4Java Tests + FFmpeg4Java provides a Java wrapper of FFmpeg library + + + macos + + x86_64 + macos + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.macos + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.macos + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.dylib + + + + + + + + + linux + + x86_64 + linux + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.linux + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.linux + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.so + + + + + + + + + windows + + x86_64 + windows + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.windows + ${project.version} + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-lib + test-compile + + unpack + + + + + com.nextbreakpoint + com.nextbreakpoint.ffmpeg4java.windows + x86_64 + jar + true + ${project.build.directory}/lib + + + **/*.dll + + + + + + + + + diff --git a/ffmpeg4java-macos-test/src/test/java/com/nextbreakpoint/ffmpeg4java/macos/FFmpeg4JavaTest.java b/ffmpeg4java-tests/src/test/java/com/nextbreakpoint/ffmpeg4java/FFmpeg4JavaTest.java similarity index 73% rename from ffmpeg4java-macos-test/src/test/java/com/nextbreakpoint/ffmpeg4java/macos/FFmpeg4JavaTest.java rename to ffmpeg4java-tests/src/test/java/com/nextbreakpoint/ffmpeg4java/FFmpeg4JavaTest.java index 458400d..00048c1 100644 --- a/ffmpeg4java-macos-test/src/test/java/com/nextbreakpoint/ffmpeg4java/macos/FFmpeg4JavaTest.java +++ b/ffmpeg4java-tests/src/test/java/com/nextbreakpoint/ffmpeg4java/FFmpeg4JavaTest.java @@ -1,4 +1,4 @@ -package com.nextbreakpoint.ffmpeg4java.macos; +package com.nextbreakpoint.ffmpeg4java; import org.assertj.core.data.Offset; import org.junit.jupiter.api.Test; @@ -14,52 +14,52 @@ import java.lang.foreign.ValueLayout; import java.util.function.BiConsumer; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.macos.Libffmpeg_2.av_image_get_buffer_size; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_alloc_context3; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_close; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_open2; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_parameters_from_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_parameters_to_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_receive_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_receive_packet; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_send_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.avcodec_send_packet; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_freeContext; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_getCachedContext; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg.sws_scale; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.AV_CODEC_ID_NONE; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_dump_format; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_frame_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_guess_format; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_rescale_ts; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_packet_unref; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_read_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_stream_new_side_data; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_write_frame; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.av_write_trailer; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_find_decoder; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_find_encoder; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avcodec_parameters_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_alloc_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_close_input; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_find_stream_info; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_free_context; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_new_stream; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_open_input; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avformat_write_header; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avio_close; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_1.avio_open2; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AVIO_FLAG_WRITE; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AV_PIX_FMT_RGB24; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.AV_PIX_FMT_YUV420P; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.C_POINTER; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.SWS_BILINEAR; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_free; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_alloc; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_fill_arrays; +import static com.nextbreakpoint.ffmpeg4java.Libffmpeg_2.av_image_get_buffer_size; import static java.lang.foreign.MemorySegment.NULL; import static org.assertj.core.api.Assertions.assertThat; @@ -125,13 +125,13 @@ private static int loadVideo(String fileName, BiConsumer consum final var pInputFileName = arena.allocateFrom(fileName); if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open file")); + throw new RuntimeException(decodeVideoError(fileName, "Can't open file")); } final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find stream info")); + throw new RuntimeException(decodeVideoError(fileName, "Can't find stream info")); } av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); @@ -159,25 +159,25 @@ private static int loadVideo(String fileName, BiConsumer consum } if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find video stream")); + throw new RuntimeException(decodeVideoError(fileName, "Can't find video stream")); } if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find decoder")); + throw new RuntimeException(decodeVideoError(fileName, "Can't find decoder")); } pInputCodecCtx = avcodec_alloc_context3(pInputCodec); if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); + throw new RuntimeException(decodeVideoError(fileName, "Can't copy codec parameters")); } if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate codec context")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate codec context")); } if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open decoder")); + throw new RuntimeException(decodeVideoError(fileName, "Can't open decoder")); } final int frameWidth = AVCodecContext.width(pInputCodecCtx); @@ -187,18 +187,18 @@ private static int loadVideo(String fileName, BiConsumer consum pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate scale context")); } pInputRGBFrame = av_frame_alloc(); pInputTMPFrame = av_frame_alloc(); if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate RGB frame")); } if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate TMP frame")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate TMP frame")); } final int rgbByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -206,7 +206,7 @@ private static int loadVideo(String fileName, BiConsumer consum pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, rgbByteSize); if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate RGB buffer")); } av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -214,11 +214,11 @@ private static int loadVideo(String fileName, BiConsumer consum pInputPacket = av_packet_alloc(); if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate packet")); } if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); + throw new RuntimeException(decodeVideoError(fileName, "Unexpected buffer size")); } final byte[] buffer = new byte[rgbByteSize]; @@ -294,7 +294,7 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt pOutputFormatCtx = avformat_alloc_context(); if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate format context")); + throw new RuntimeException(encodeVideoError(fileName, "Can't allocate format context")); } final var pOutputFileName = arena.allocateFrom(fileName); @@ -302,13 +302,13 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate output format")); + throw new RuntimeException(encodeVideoError(fileName, "Can't allocate output format")); } final int outputVideoCodec = AVOutputFormat.video_codec(pOutputFormat); if (outputVideoCodec == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(fileName, "Video codec not found")); + throw new RuntimeException(encodeVideoError(fileName, "Video codec not found")); } AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); @@ -316,13 +316,13 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt final var pOutputCodec = avcodec_find_encoder(outputVideoCodec); if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't find encoder")); + throw new RuntimeException(encodeVideoError(fileName, "Can't find encoder")); } pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec context")); + throw new RuntimeException(encodeVideoError(fileName, "Can't allocate codec context")); } final var pTimeBase = arena.allocate(AVRational.layout()); @@ -342,21 +342,21 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't create stream")); + throw new RuntimeException(encodeVideoError(fileName, "Can't create stream")); } if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(fileName, "Unexpected number of streams")); + throw new RuntimeException(encodeVideoError(fileName, "Unexpected number of streams")); } final var pOutputCodecParameters = avcodec_parameters_alloc(); if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec parameters")); + throw new RuntimeException(encodeVideoError(fileName, "Can't allocate codec parameters")); } if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); + throw new RuntimeException(decodeVideoError(fileName, "Can't copy codec parameters")); } AVCodecParameters.codec_id(pOutputCodecParameters, outputVideoCodec); @@ -370,19 +370,19 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open encoder")); + throw new RuntimeException(encodeVideoError(fileName, "Can't open encoder")); } final var ppOutputAVIOCtx = arena.allocate(C_POINTER); if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open file")); + throw new RuntimeException(encodeVideoError(fileName, "Can't open file")); } pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate IO context")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate IO context")); } AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); @@ -390,18 +390,18 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate scale context")); } pOutputRGBFrame = av_frame_alloc(); pOutputYUVFrame = av_frame_alloc(); if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate RGB frame")); } if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV frame")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate YUV frame")); } AVFrame.width(pOutputRGBFrame, frameWidth); @@ -421,11 +421,11 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt pOutputYUVBuffer = arena.allocate(yuvByteSize); if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate RGB buffer")); } if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV buffer")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate YUV buffer")); } av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); @@ -434,13 +434,13 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt final var pOutputPacket = av_packet_alloc(); if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); + throw new RuntimeException(decodeVideoError(fileName, "Can't allocate packet")); } AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); + throw new RuntimeException(decodeVideoError(fileName, "Unexpected buffer size")); } final byte[] buffer = new byte[rgbByteSize]; @@ -504,14 +504,6 @@ private static int saveVideo(String fileName, int fps, int frames, int frameWidt return frameCount; } - private static String formatLoadVideoError(String fileName, String message) { - return STR."Load video failed (file = \{fileName}). \{message}"; - } - - private static String formatSaveVideoError(String fileName, String message) { - return STR."Save video failed (file = \{fileName}). \{message}"; - } - private static void fillPixels(byte[] data, int width, int height, float color) { byte p = (byte) (255 * color); for (int x = 0; x < width; x += 1) { @@ -576,19 +568,27 @@ private static byte[] convertFormat(int[] data) { } private static void printFrame(int frameCount, byte[] bytes) { - System.out.println(STR."Frame \{frameCount}"); + System.out.printf("Frame %d%n", frameCount); } private static void printFrame(int frameCount, byte[] bytes, int frames) { - System.out.println(STR."Frame \{frameCount} [ \{frameCount * 100 / frames}% ]"); + System.out.printf("Frame %d [ %d%% ]%n", frameCount, frameCount * 100 / frames); + } + + private static String decodeVideoError(String fileName, String message) { + return "Load video failed (file = %s). %s".formatted(fileName, message); + } + + private static String encodeVideoError(String fileName, String message) { + return "Save video failed (file = %s). %s".formatted(fileName, message); } private static String getFileName(String file) { - return STR."\{System.getProperty("basedir", ".")}/\{file}"; + return "%s/%s".formatted(System.getProperty("basedir", "."), file); } private static void saveFrame(Integer frameCount, BufferedImage image, byte[] bytes) { copyPixelsIntoImage(bytes, image); - writeImage(image, frameCount, getFileName(STR."test-frame-\{frameCount}.png")); + writeImage(image, frameCount, getFileName("test-frame-%d.png".formatted(frameCount))); } } \ No newline at end of file diff --git a/ffmpeg4java-windows-examples/pom.xml b/ffmpeg4java-windows-examples/pom.xml deleted file mode 100644 index 63c0b7e..0000000 --- a/ffmpeg4java-windows-examples/pom.xml +++ /dev/null @@ -1,76 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.windows.examples - jar - FFmpeg4Java Windows Examples - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.windows - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.windows - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.dll - - - - - - org.codehaus.mojo - exec-maven-plugin - - - run - test - - exec - - - java - - --enable-preview - --enable-native-access=ALL-UNNAMED - -classpath - - -Djava.library.path=${project.build.directory}/lib - com.nextbreakpoint.ffmpeg4java.windows.ConvertVideoMain - sample.mpg - output.mp4 - - - - - - - - diff --git a/ffmpeg4java-windows-examples/sample.mpg b/ffmpeg4java-windows-examples/sample.mpg deleted file mode 100644 index 6e166a8..0000000 Binary files a/ffmpeg4java-windows-examples/sample.mpg and /dev/null differ diff --git a/ffmpeg4java-windows-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/ConvertVideoMain.java b/ffmpeg4java-windows-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/ConvertVideoMain.java deleted file mode 100644 index e7d1115..0000000 --- a/ffmpeg4java-windows-examples/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/ConvertVideoMain.java +++ /dev/null @@ -1,460 +0,0 @@ - -package com.nextbreakpoint.ffmpeg4java.windows; - -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.ValueLayout; - -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_get_buffer_size; -import static java.lang.foreign.MemorySegment.NULL; - -class ConvertVideoMain { - public static void main(String[] args) { - if (args.length < 2) { - throw new IllegalArgumentException("Invalid arguments"); - } - - final String sourceFileName = args[0]; - final String outputFileName = args[1]; - - System.out.println("Converting video..."); - - System.out.println(STR."Source file \{sourceFileName}"); - System.out.println(STR."Output file \{outputFileName}"); - - try (var arena = Arena.ofConfined()) { - var pInputFileName = arena.allocateFrom(sourceFileName); - var pOutputFileName = arena.allocateFrom(outputFileName); - - var ppInputFormatCtx = NULL; - var pInputCodecCtx = NULL; - var pInputSwsContext = NULL; - var pInputRGBFrame = NULL; - var pInputTMPFrame = NULL; - var pInputRGBBuffer = NULL; - var pInputPacket = NULL; - var pOutputFormatCtx = NULL; - var pOutputCodecCtx = NULL; - var pOutputAVIOCtx = NULL; - var pOutputSwsContext = NULL; - var pOutputRGBFrame = NULL; - var pOutputYUVFrame = NULL; - var pOutputRGBBuffer = NULL; - var pOutputYUVBuffer = NULL; - - try { - ppInputFormatCtx = arena.allocate(C_POINTER); - - if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open file")); - } - - final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); - - if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find stream info")); - } - - av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); - - final int inputNbStreams = AVFormatContext.nb_streams(pInputFormatCtx); - final var pInputStreams = AVFormatContext.streams(pInputFormatCtx); - - var pInputCodecParameters = NULL; - int videoStreamIndex = -1; - var pInputCodec = NULL; - - for (int i = 0; i < inputNbStreams; i++) { - final var pStream = pInputStreams.getAtIndex(C_POINTER, i); - - final var pVideoCodecParameters = AVStream.codecpar(pStream); - - final var codecType = AVCodecParameters.codec_type(pVideoCodecParameters); - - if (codecType == AVMEDIA_TYPE_VIDEO()) { - videoStreamIndex = i; - pInputCodecParameters = pVideoCodecParameters; - pInputCodec = avcodec_find_decoder(AVCodecParameters.codec_id(pVideoCodecParameters)); - break; - } - } - - if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find video stream")); - } - - if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't find decoder")); - } - - pInputCodecCtx = avcodec_alloc_context3(pInputCodec); - - if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't copy codec parameters")); - } - - if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate codec context")); - } - - if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't open decoder")); - } - - final int frameWidth = AVCodecContext.width(pInputCodecCtx); - final int frameHeight = AVCodecContext.height(pInputCodecCtx); - final int pixelFormat = AVCodecContext.pix_fmt(pInputCodecCtx); - - pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate scale context")); - } - - pInputRGBFrame = av_frame_alloc(); - pInputTMPFrame = av_frame_alloc(); - - if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB frame")); - } - - if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate TMP frame")); - } - - final int inputRGBByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, inputRGBByteSize); - - if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate RGB buffer")); - } - - av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputPacket = av_packet_alloc(); - - if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Can't allocate packet")); - } - - pOutputFormatCtx = avformat_alloc_context(); - - if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate format context")); - } - - final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); - - if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate output format")); - } - - if (AVOutputFormat.video_codec(pOutputFormat) == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Video codec not found")); - } - - AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); - - final var pOutputCodec = avcodec_find_encoder(AVOutputFormat.video_codec(pOutputFormat)); - - if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't find encoder")); - } - - pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); - - if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec context")); - } - - final var pTimeBase = arena.allocate(AVRational.layout()); - AVRational.num(pTimeBase, 1); - AVRational.den(pTimeBase, 24); - - AVCodecContext.codec_id(pOutputCodecCtx, AVOutputFormat.video_codec(pOutputFormat)); - AVCodecContext.codec_type(pOutputCodecCtx, AVMEDIA_TYPE_VIDEO()); - AVCodecContext.width(pOutputCodecCtx, frameWidth); - AVCodecContext.height(pOutputCodecCtx, frameHeight); - AVCodecContext.pix_fmt(pOutputCodecCtx, AV_PIX_FMT_YUV420P()); - AVCodecContext.time_base(pOutputCodecCtx, pTimeBase); - AVCodecContext.gop_size(pOutputCodecCtx, 4); - AVCodecContext.bit_rate(pOutputCodecCtx, 4096); - AVCodecContext.max_b_frames(pOutputCodecCtx, 2); - - final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); - - if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't create stream")); - } - - if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Unexpected number of streams")); - } - - final var pOutputCodecParameters = avcodec_parameters_alloc(); - - if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't allocate codec parameters")); - } - - if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't copy codec parameters")); - } - - AVCodecParameters.codec_id(pOutputCodecParameters, AVOutputFormat.video_codec(pOutputFormat)); - AVCodecParameters.codec_type(pOutputCodecParameters, AVMEDIA_TYPE_VIDEO()); - AVCodecParameters.width(pOutputCodecParameters, frameWidth); - AVCodecParameters.height(pOutputCodecParameters, frameHeight); - AVStream.codecpar(pOutputStream, pOutputCodecParameters); - AVStream.time_base(pOutputStream, pTimeBase); - - final var pOutputProperties = av_stream_new_side_data(pOutputStream, AV_PKT_DATA_CPB_PROPERTIES(), AVCPBProperties.sizeof()); - AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); - - if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open encoder")); - } - - final var ppOutputAVIOCtx = arena.allocate(C_POINTER); - - if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(outputFileName, "Can't open file")); - } - - pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); - - if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate IO context")); - } - - AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); - - pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate scale context")); - } - - pOutputRGBFrame = av_frame_alloc(); - pOutputYUVFrame = av_frame_alloc(); - - if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB frame")); - } - - if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV frame")); - } - - AVFrame.width(pOutputRGBFrame, frameWidth); - AVFrame.height(pOutputRGBFrame, frameHeight); - AVFrame.format(pOutputRGBFrame, AV_PIX_FMT_RGB24()); - AVFrame.width(pOutputYUVFrame, frameWidth); - AVFrame.height(pOutputYUVFrame, frameHeight); - AVFrame.format(pOutputYUVFrame, AV_PIX_FMT_YUV420P()); - - av_image_alloc(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), frameWidth, frameHeight, AV_PIX_FMT_RGB24(), 1); - av_image_alloc(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), 1); - - final int outputRGBByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - final int outputYUVByteSize = av_image_get_buffer_size(AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - pOutputRGBBuffer = arena.allocate(outputRGBByteSize); - pOutputYUVBuffer = arena.allocate(outputYUVByteSize); - - if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate RGB buffer")); - } - - if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate YUV buffer")); - } - - av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - av_image_fill_arrays(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), pOutputYUVBuffer, AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - final var pOutputPacket = av_packet_alloc(); - - if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Can't allocate packet")); - } - - AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); - - if (inputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(sourceFileName, "Unexpected buffer size")); - } - - if (outputRGBByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(outputFileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[outputRGBByteSize]; - - avformat_write_header(pOutputFormatCtx, NULL); - - while (av_read_frame(pInputFormatCtx, pInputPacket) == 0) { - if (AVPacket.stream_index(pInputPacket) == videoStreamIndex) { - if (avcodec_send_packet(pInputCodecCtx, pInputPacket) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, inputRGBByteSize); - - final var pOutputData = AVFrame.data(pOutputRGBFrame); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, outputRGBByteSize); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - } - } - } - - if (avcodec_send_packet(pInputCodecCtx, NULL) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, inputRGBByteSize); - - final var pOutputData = AVFrame.data(pOutputRGBFrame); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, outputRGBByteSize); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - } - - if (avcodec_send_frame(pOutputCodecCtx, NULL) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - - av_write_trailer(pOutputFormatCtx); - } finally { - if (!pInputPacket.equals(NULL)) { - av_packet_unref(pInputPacket); - } - - if (!pInputCodecCtx.equals(NULL)) { - avcodec_close(pInputCodecCtx); - } - - if (!pInputSwsContext.equals(NULL)) { - sws_freeContext(pInputSwsContext); - } - - if (!pInputTMPFrame.equals(NULL)) { - av_free(pInputTMPFrame); - } - - if (!pInputRGBFrame.equals(NULL)) { - av_free(pInputRGBFrame); - } - - if (!ppInputFormatCtx.equals(NULL)) { - avformat_close_input(ppInputFormatCtx); - } - - if (!pOutputAVIOCtx.equals(NULL)) { - avio_close(pOutputAVIOCtx); - } - - if (!pOutputCodecCtx.equals(NULL)) { - avcodec_close(pOutputCodecCtx); - } - - if (!pOutputSwsContext.equals(NULL)) { - sws_freeContext(pOutputSwsContext); - } - - if (!pOutputYUVFrame.equals(NULL)) { - av_free(pOutputYUVFrame); - } - - if (!pOutputRGBFrame.equals(NULL)) { - av_free(pOutputRGBFrame); - } - - if (!pOutputFormatCtx.equals(NULL)) { - avformat_free_context(pOutputFormatCtx); - } - } - - System.out.println("Video converted"); - } - } - - private static String formatLoadVideoError(String fileName, String message) { - return STR."Decode video error (file = \{fileName}). \{message}"; - } - - private static String formatSaveVideoError(String fileName, String message) { - return STR."Encode video error (file = \{fileName}). \{message}"; - } -} \ No newline at end of file diff --git a/ffmpeg4java-windows-test/fixture-frame-10.png b/ffmpeg4java-windows-test/fixture-frame-10.png deleted file mode 100644 index afa1bab..0000000 Binary files a/ffmpeg4java-windows-test/fixture-frame-10.png and /dev/null differ diff --git a/ffmpeg4java-windows-test/fixture-frame-20.png b/ffmpeg4java-windows-test/fixture-frame-20.png deleted file mode 100644 index ed6c116..0000000 Binary files a/ffmpeg4java-windows-test/fixture-frame-20.png and /dev/null differ diff --git a/ffmpeg4java-windows-test/fixture-frame-30.png b/ffmpeg4java-windows-test/fixture-frame-30.png deleted file mode 100644 index bcd577d..0000000 Binary files a/ffmpeg4java-windows-test/fixture-frame-30.png and /dev/null differ diff --git a/ffmpeg4java-windows-test/fixture-frame-40.png b/ffmpeg4java-windows-test/fixture-frame-40.png deleted file mode 100644 index 3017212..0000000 Binary files a/ffmpeg4java-windows-test/fixture-frame-40.png and /dev/null differ diff --git a/ffmpeg4java-windows-test/fixture-video-48.mpg b/ffmpeg4java-windows-test/fixture-video-48.mpg deleted file mode 100644 index b331d1c..0000000 Binary files a/ffmpeg4java-windows-test/fixture-video-48.mpg and /dev/null differ diff --git a/ffmpeg4java-windows-test/pom.xml b/ffmpeg4java-windows-test/pom.xml deleted file mode 100644 index 3e96cba..0000000 --- a/ffmpeg4java-windows-test/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - 4.0.0 - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 - - com.nextbreakpoint.ffmpeg4java.windows.test - jar - FFmpeg4Java Windows Test - FFmpeg4Java provides a Java wrapper of FFmpeg library - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.windows - ${project.version} - - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-lib - test-compile - - unpack - - - - - com.nextbreakpoint - com.nextbreakpoint.ffmpeg4java.windows - x86_64 - jar - true - ${project.build.directory}/lib - - - **/*.dll - - - - - - - diff --git a/ffmpeg4java-windows-test/src/test/java/com/nextbreakpoint/ffmpeg4java/windows/FFmpeg4JavaTest.java b/ffmpeg4java-windows-test/src/test/java/com/nextbreakpoint/ffmpeg4java/windows/FFmpeg4JavaTest.java deleted file mode 100644 index 02a15ac..0000000 --- a/ffmpeg4java-windows-test/src/test/java/com/nextbreakpoint/ffmpeg4java/windows/FFmpeg4JavaTest.java +++ /dev/null @@ -1,594 +0,0 @@ -package com.nextbreakpoint.ffmpeg4java.windows; - -import org.assertj.core.data.Offset; -import org.junit.jupiter.api.Test; - -import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; -import java.awt.image.DataBufferInt; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.lang.foreign.Arena; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.ValueLayout; -import java.util.function.BiConsumer; - -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_alloc_context3; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_close; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_open2; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_parameters_from_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_parameters_to_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_receive_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_receive_packet; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_send_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.avcodec_send_packet; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_freeContext; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_getCachedContext; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg.sws_scale; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.AV_CODEC_ID_NONE; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.AV_PKT_DATA_CPB_PROPERTIES; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_dump_format; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_frame_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_guess_format; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_rescale_ts; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_packet_unref; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_read_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_stream_new_side_data; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_write_frame; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.av_write_trailer; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_find_decoder; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_find_encoder; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avcodec_parameters_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_alloc_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_close_input; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_find_stream_info; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_free_context; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_new_stream; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_open_input; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avformat_write_header; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avio_close; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_1.avio_open2; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AVIO_FLAG_WRITE; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AVMEDIA_TYPE_VIDEO; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AV_PIX_FMT_RGB24; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.AV_PIX_FMT_YUV420P; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.C_POINTER; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.SWS_BILINEAR; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_free; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_alloc; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_fill_arrays; -import static com.nextbreakpoint.ffmpeg4java.windows.Libffmpeg_2.av_image_get_buffer_size; -import static java.lang.foreign.MemorySegment.NULL; -import static org.assertj.core.api.Assertions.assertThat; - -class FFmpeg4JavaTest { - @Test - public void shouldDecode48Frames() { - int frameCount = loadVideo(getFileName("fixture-video-48.mpg"), FFmpeg4JavaTest::printFrame); - assertThat(frameCount).isEqualTo(48); - } - - @Test - public void shouldEncode48Frames() { - int fps = 24; - int frames = 48; - int frameWidth = 640; - int frameHeight = 480; - int frameCount = saveVideo(getFileName("test-video-48.mpg"), fps, frames, frameWidth, frameHeight, FFmpeg4JavaTest::printFrame); - assertThat(frameCount).isEqualTo(frames); - } - - @Test - public void shouldDecodeFrames() throws IOException { - int frameWidth = 640; - int frameHeight = 480; - final BufferedImage image = new BufferedImage(frameWidth, frameHeight, BufferedImage.TYPE_INT_ARGB); - loadVideo(getFileName("fixture-video-48.mpg"), (frameCount, bytes) -> saveFrame(frameCount, image, bytes)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-10.png"))), convertFormat(loadImage(getFileName("test-frame-10.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-20.png"))), convertFormat(loadImage(getFileName("test-frame-20.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-30.png"))), convertFormat(loadImage(getFileName("test-frame-30.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-40.png"))), convertFormat(loadImage(getFileName("test-frame-40.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - } - - @Test - public void shouldEncodeFrames() throws IOException { - int fps = 24; - int frames = 48; - int frameWidth = 640; - int frameHeight = 480; - final BufferedImage image = new BufferedImage(frameWidth, frameHeight, BufferedImage.TYPE_INT_ARGB); - saveVideo(getFileName("test-video-48.mpg"), fps, frames, frameWidth, frameHeight, (frameCount, bytes) -> printFrame(frameCount, bytes, frames)); - loadVideo(getFileName("test-video-48.mpg"), (frameCount, bytes) -> saveFrame(frameCount, image, bytes)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-10.png"))), convertFormat(loadImage(getFileName("test-frame-10.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-20.png"))), convertFormat(loadImage(getFileName("test-frame-20.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-30.png"))), convertFormat(loadImage(getFileName("test-frame-30.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - assertThat(error(convertFormat(loadImage(getFileName("fixture-frame-40.png"))), convertFormat(loadImage(getFileName("test-frame-40.png"))))).isCloseTo(0.0, Offset.offset(10.0)); - } - - private static int loadVideo(String fileName, BiConsumer consumer) { - int frameCount = 0; - - try (var arena = Arena.ofConfined()) { - var ppInputFormatCtx = NULL; - var pInputCodecCtx = NULL; - var pInputSwsContext = NULL; - var pInputRGBFrame = NULL; - var pInputRGBBuffer = NULL; - var pInputTMPFrame = NULL; - var pInputPacket = NULL; - - try { - ppInputFormatCtx = arena.allocate(C_POINTER); - - final var pInputFileName = arena.allocateFrom(fileName); - - if (avformat_open_input(ppInputFormatCtx, pInputFileName, NULL, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open file")); - } - - final var pInputFormatCtx = ppInputFormatCtx.get(C_POINTER, 0); - - if (avformat_find_stream_info(pInputFormatCtx, NULL) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find stream info")); - } - - av_dump_format(pInputFormatCtx, 0, pInputFileName, 0); - - final int nbStreams = AVFormatContext.nb_streams(pInputFormatCtx); - final var pInputStreams = AVFormatContext.streams(pInputFormatCtx); - - var pInputCodecParameters = NULL; - int videoStreamIndex = -1; - var pInputCodec = NULL; - - for (int i = 0; i < nbStreams; i++) { - final var pStream = pInputStreams.getAtIndex(C_POINTER, i); - - final var pVideoCodecParameters = AVStream.codecpar(pStream); - - final var codecType = AVCodecParameters.codec_type(pVideoCodecParameters); - - if (codecType == AVMEDIA_TYPE_VIDEO()) { - videoStreamIndex = i; - pInputCodecParameters = pVideoCodecParameters; - pInputCodec = avcodec_find_decoder(AVCodecParameters.codec_id(pVideoCodecParameters)); - break; - } - } - - if (videoStreamIndex == -1) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find video stream")); - } - - if (pInputCodec.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't find decoder")); - } - - pInputCodecCtx = avcodec_alloc_context3(pInputCodec); - - if (avcodec_parameters_to_context(pInputCodecCtx, pInputCodecParameters) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); - } - - if (pInputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate codec context")); - } - - if (avcodec_open2(pInputCodecCtx, pInputCodec, NULL) < 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't open decoder")); - } - - final int frameWidth = AVCodecContext.width(pInputCodecCtx); - final int frameHeight = AVCodecContext.height(pInputCodecCtx); - final int pixelFormat = AVCodecContext.pix_fmt(pInputCodecCtx); - - pInputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, pixelFormat, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pInputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); - } - - pInputRGBFrame = av_frame_alloc(); - pInputTMPFrame = av_frame_alloc(); - - if (pInputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); - } - - if (pInputTMPFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate TMP frame")); - } - - final int rgbByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputRGBBuffer = arena.allocate(ValueLayout.OfByte.JAVA_BYTE, rgbByteSize); - - if (pInputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); - } - - av_image_fill_arrays(AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame), pInputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - - pInputPacket = av_packet_alloc(); - - if (pInputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); - } - - if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[rgbByteSize]; - - while (av_read_frame(pInputFormatCtx, pInputPacket) == 0) { - if (AVPacket.stream_index(pInputPacket) == videoStreamIndex) { - if (avcodec_send_packet(pInputCodecCtx, pInputPacket) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - } - } - } - } - - if (avcodec_send_packet(pInputCodecCtx, NULL) == 0) { - while (avcodec_receive_frame(pInputCodecCtx, pInputTMPFrame) == 0) { - sws_scale(pInputSwsContext, AVFrame.data(pInputTMPFrame), AVFrame.linesize(pInputTMPFrame), 0, frameHeight, AVFrame.data(pInputRGBFrame), AVFrame.linesize(pInputRGBFrame)); - - final var pInputData = AVFrame.data(pInputRGBFrame); - MemorySegment.copy(pInputData.get(C_POINTER, 0), 0, MemorySegment.ofArray(buffer), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - } - } - } finally { - if (!pInputPacket.equals(NULL)) { - av_packet_unref(pInputPacket); - } - - if (!pInputCodecCtx.equals(NULL)) { - avcodec_close(pInputCodecCtx); - } - - if (!pInputSwsContext.equals(NULL)) { - sws_freeContext(pInputSwsContext); - } - - if (!pInputTMPFrame.equals(NULL)) { - av_free(pInputTMPFrame); - } - - if (!pInputRGBFrame.equals(NULL)) { - av_free(pInputRGBFrame); - } - - if (!ppInputFormatCtx.equals(NULL)) { - avformat_close_input(ppInputFormatCtx); - } - } - } - return frameCount; - } - - private static int saveVideo(String fileName, int fps, int frames, int frameWidth, int frameHeight, BiConsumer consumer) { - int frameCount = 0; - - try (var arena = Arena.ofConfined()) { - var pOutputFormatCtx = NULL; - var pOutputCodecCtx = NULL; - var pOutputAVIOCtx = NULL; - var pOutputSwsContext = NULL; - var pOutputRGBFrame = NULL; - var pOutputYUVFrame = NULL; - var pOutputRGBBuffer = NULL; - var pOutputYUVBuffer = NULL; - - try { - pOutputFormatCtx = avformat_alloc_context(); - - if (pOutputFormatCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate format context")); - } - - final var pOutputFileName = arena.allocateFrom(fileName); - - final var pOutputFormat = av_guess_format(NULL, pOutputFileName, NULL); - - if (pOutputFormat.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate output format")); - } - - final int outputVideoCodec = AVOutputFormat.video_codec(pOutputFormat); - - if (outputVideoCodec == AV_CODEC_ID_NONE()) { - throw new RuntimeException(formatSaveVideoError(fileName, "Video codec not found")); - } - - AVFormatContext.oformat(pOutputFormatCtx, pOutputFormat); - - final var pOutputCodec = avcodec_find_encoder(outputVideoCodec); - - if (pOutputCodec.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't find encoder")); - } - - pOutputCodecCtx = avcodec_alloc_context3(pOutputCodec); - - if (pOutputCodecCtx.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec context")); - } - - final var pTimeBase = arena.allocate(AVRational.layout()); - AVRational.num(pTimeBase, 1); - AVRational.den(pTimeBase, fps); - - AVCodecContext.codec_id(pOutputCodecCtx, outputVideoCodec); - AVCodecContext.codec_type(pOutputCodecCtx, AVMEDIA_TYPE_VIDEO()); - AVCodecContext.width(pOutputCodecCtx, frameWidth); - AVCodecContext.height(pOutputCodecCtx, frameHeight); - AVCodecContext.pix_fmt(pOutputCodecCtx, AV_PIX_FMT_YUV420P()); - AVCodecContext.time_base(pOutputCodecCtx, pTimeBase); - AVCodecContext.gop_size(pOutputCodecCtx, 4); - AVCodecContext.bit_rate(pOutputCodecCtx, 4096); - AVCodecContext.max_b_frames(pOutputCodecCtx, 2); - - final var pOutputStream = avformat_new_stream(pOutputFormatCtx, pOutputCodec); - - if (pOutputStream.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't create stream")); - } - - if (AVFormatContext.nb_streams(pOutputFormatCtx) != 1) { - throw new RuntimeException(formatSaveVideoError(fileName, "Unexpected number of streams")); - } - - final var pOutputCodecParameters = avcodec_parameters_alloc(); - - if (pOutputCodecParameters.equals(NULL)) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't allocate codec parameters")); - } - - if (avcodec_parameters_from_context(pOutputCodecParameters, pOutputCodecCtx) != 0) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't copy codec parameters")); - } - - AVCodecParameters.codec_id(pOutputCodecParameters, outputVideoCodec); - AVCodecParameters.codec_type(pOutputCodecParameters, AVMEDIA_TYPE_VIDEO()); - AVCodecParameters.width(pOutputCodecParameters, frameWidth); - AVCodecParameters.height(pOutputCodecParameters, frameHeight); - AVStream.codecpar(pOutputStream, pOutputCodecParameters); - AVStream.time_base(pOutputStream, pTimeBase); - - final var pOutputProperties = av_stream_new_side_data(pOutputStream, AV_PKT_DATA_CPB_PROPERTIES(), AVCPBProperties.sizeof()); - AVCPBProperties.buffer_size(pOutputProperties, frameWidth * frameHeight * 3L * 2L); - - if (avcodec_open2(pOutputCodecCtx, pOutputCodec, NULL) != 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open encoder")); - } - - final var ppOutputAVIOCtx = arena.allocate(C_POINTER); - - if (avio_open2(ppOutputAVIOCtx, pOutputFileName, AVIO_FLAG_WRITE(), NULL, NULL) < 0) { - throw new RuntimeException(formatSaveVideoError(fileName, "Can't open file")); - } - - pOutputAVIOCtx = ppOutputAVIOCtx.get(C_POINTER, 0); - - if (pOutputAVIOCtx.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate IO context")); - } - - AVFormatContext.pb(pOutputFormatCtx, pOutputAVIOCtx); - - pOutputSwsContext = sws_getCachedContext(NULL, frameWidth, frameHeight, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), SWS_BILINEAR(), NULL, NULL, NULL); - - if (pOutputSwsContext.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate scale context")); - } - - pOutputRGBFrame = av_frame_alloc(); - pOutputYUVFrame = av_frame_alloc(); - - if (pOutputRGBFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB frame")); - } - - if (pOutputYUVFrame.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV frame")); - } - - AVFrame.width(pOutputRGBFrame, frameWidth); - AVFrame.height(pOutputRGBFrame, frameHeight); - AVFrame.format(pOutputRGBFrame, AV_PIX_FMT_RGB24()); - AVFrame.width(pOutputYUVFrame, frameWidth); - AVFrame.height(pOutputYUVFrame, frameHeight); - AVFrame.format(pOutputYUVFrame, AV_PIX_FMT_YUV420P()); - - av_image_alloc(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), frameWidth, frameHeight, AV_PIX_FMT_RGB24(), 1); - av_image_alloc(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), frameWidth, frameHeight, AV_PIX_FMT_YUV420P(), 1); - - final int rgbByteSize = av_image_get_buffer_size(AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - final int yuvByteSize = av_image_get_buffer_size(AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - pOutputRGBBuffer = arena.allocate(rgbByteSize); - pOutputYUVBuffer = arena.allocate(yuvByteSize); - - if (pOutputRGBBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate RGB buffer")); - } - - if (pOutputYUVBuffer.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate YUV buffer")); - } - - av_image_fill_arrays(AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), pOutputRGBBuffer, AV_PIX_FMT_RGB24(), frameWidth, frameHeight, 1); - av_image_fill_arrays(AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame), pOutputYUVBuffer, AV_PIX_FMT_YUV420P(), frameWidth, frameHeight, 1); - - final var pOutputPacket = av_packet_alloc(); - - if (pOutputPacket.equals(NULL)) { - throw new RuntimeException(formatLoadVideoError(fileName, "Can't allocate packet")); - } - - AVPacket.stream_index(pOutputPacket, AVStream.index(pOutputStream)); - - if (rgbByteSize != 3 * frameWidth * frameHeight) { - throw new RuntimeException(formatLoadVideoError(fileName, "Unexpected buffer size")); - } - - final byte[] buffer = new byte[rgbByteSize]; - - avformat_write_header(pOutputFormatCtx, NULL); - - for (int frame = 0; frame < frames; frame++) { - final var pOutputData = AVFrame.data(pOutputRGBFrame); - fillPixels(buffer, frameWidth, frameHeight, ((float) frame / (frames - 1))); - MemorySegment.copy(MemorySegment.ofArray(buffer), 0, pOutputData.get(C_POINTER, 0), 0, rgbByteSize); - - consumer.accept(++frameCount, buffer); - - sws_scale(pOutputSwsContext, AVFrame.data(pOutputRGBFrame), AVFrame.linesize(pOutputRGBFrame), 0, frameHeight, AVFrame.data(pOutputYUVFrame), AVFrame.linesize(pOutputYUVFrame)); - - if (avcodec_send_frame(pOutputCodecCtx, pOutputYUVFrame) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - } - - if (avcodec_send_frame(pOutputCodecCtx, NULL) == 0) { - while (avcodec_receive_packet(pOutputCodecCtx, pOutputPacket) == 0) { - av_packet_rescale_ts(pOutputPacket, AVCodecContext.time_base(pOutputCodecCtx), AVStream.time_base(pOutputStream)); - av_write_frame(pOutputFormatCtx, pOutputPacket); - } - av_write_frame(pOutputFormatCtx, NULL); - } - - av_write_trailer(pOutputFormatCtx); - } finally { - if (!pOutputAVIOCtx.equals(NULL)) { - avio_close(pOutputAVIOCtx); - } - - if (!pOutputCodecCtx.equals(NULL)) { - avcodec_close(pOutputCodecCtx); - } - - if (!pOutputSwsContext.equals(NULL)) { - sws_freeContext(pOutputSwsContext); - } - - if (!pOutputYUVFrame.equals(NULL)) { - av_free(pOutputYUVFrame); - } - - if (!pOutputRGBFrame.equals(NULL)) { - av_free(pOutputRGBFrame); - } - - if (!pOutputFormatCtx.equals(NULL)) { - avformat_free_context(pOutputFormatCtx); - } - } - } - - return frameCount; - } - - private static String formatLoadVideoError(String fileName, String message) { - return STR."Load video failed (file = \{fileName}). \{message}"; - } - - private static String formatSaveVideoError(String fileName, String message) { - return STR."Save video failed (file = \{fileName}). \{message}"; - } - - private static void fillPixels(byte[] data, int width, int height, float color) { - byte p = (byte) (255 * color); - for (int x = 0; x < width; x += 1) { - for (int y = 0; y < height; y += 1) { - int j = (y * width + x) * 3; - if ((x / 5) % 2 == 0 || (y / 5) % 2 == 1) { - data[j + 0] = p; - data[j + 1] = p; - data[j + 2] = p; - } else { - data[j + 0] = 0; - data[j + 1] = 0; - data[j + 2] = 0; - } - } - } - } - - private static void writeImage(BufferedImage image, int frame, String name) { - if (frame % 10 == 0) { - try (FileOutputStream output = new FileOutputStream(name)) { - ImageIO.write(image, "png", output); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - private static void copyPixelsIntoImage(byte[] data, BufferedImage image) { - int[] rgb_data = ((DataBufferInt) image.getData().getDataBuffer()).getData(); - for (int t = 0, k = 0; k < data.length; k += 3) { - rgb_data[t++] = 0xFF000000 | ((((int) data[k]) << 16) & 0x00FF0000) | ((((int) data[k]) << 8) & 0x0000FF00) | ((((int) data[k])) & 0x000000FF); - } - image.setRGB(0, 0, image.getWidth(), image.getHeight(), rgb_data, 0, image.getWidth()); - } - - private static int[] loadImage(String file) throws IOException { - BufferedImage image = ImageIO.read(new File(file)); - return image.getRGB(0, 0, image.getWidth(), image.getHeight(), null, 0, image.getWidth()); - } - - private static double error(byte[] data1, byte[] data2) { - double error = 0; - for (int j = 0; j < data1.length; j += 3) { - error += distance(data1, data2, j); - } - return error / (data1.length / 3.0); - } - - private static double distance(byte[] data1, byte[] data2, int i) { - return Math.sqrt(Math.pow(data1[i + 0] - data2[i + 0], 2) + Math.pow(data1[i + 1] - data2[i + 1], 2) + Math.pow(data1[i + 2] - data2[i + 2], 2)); - } - - private static byte[] convertFormat(int[] data) { - byte[] buffer = new byte[data.length * 3]; - for (int j = 0; j < data.length; j += 1) { - buffer[j * 3 + 0] = (byte) (data[j] >> 16); - buffer[j * 3 + 1] = (byte) (data[j] >> 8); - buffer[j * 3 + 2] = (byte) (data[j] >> 0); - } - return buffer; - } - - private static void printFrame(int frameCount, byte[] bytes) { - System.out.println(STR."Frame \{frameCount}"); - } - - private static void printFrame(int frameCount, byte[] bytes, int frames) { - System.out.println(STR."Frame \{frameCount} [ \{frameCount * 100 / frames}% ]"); - } - - private static String getFileName(String file) { - return STR."\{System.getProperty("basedir", ".")}/\{file}"; - } - - private static void saveFrame(Integer frameCount, BufferedImage image, byte[] bytes) { - copyPixelsIntoImage(bytes, image); - writeImage(image, frameCount, getFileName(STR."test-frame-\{frameCount}.png")); - } -} \ No newline at end of file diff --git a/ffmpeg4java-windows/extract.sh b/ffmpeg4java-windows/extract.sh index 79f34af..21eccb4 100755 --- a/ffmpeg4java-windows/extract.sh +++ b/ffmpeg4java-windows/extract.sh @@ -7,7 +7,7 @@ export PATH=$PATH:${JEXTRACT_HOME}/bin jextract @includes.txt \ --output src/main/java \ - --target-package com.nextbreakpoint.ffmpeg4java.windows \ + --target-package com.nextbreakpoint.ffmpeg4java \ --include-dir "${FFMPEG_HOME}" \ --include-dir "${INCLUDE_PATH}" \ --use-system-load-library \ diff --git a/ffmpeg4java-windows/pom.xml b/ffmpeg4java-windows/pom.xml index 0f48da6..43ba85b 100644 --- a/ffmpeg4java-windows/pom.xml +++ b/ffmpeg4java-windows/pom.xml @@ -4,7 +4,7 @@ com.nextbreakpoint com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 + 7.0.1-1.2 com.nextbreakpoint.ffmpeg4java.windows jar diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVBufferRef.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVBufferRef.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java index b3095fc..bb921e5 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVBufferRef.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVBufferRef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCPBProperties.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCPBProperties.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java index 5bf18f6..7daf5eb 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCPBProperties.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCPBProperties.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelCustom.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelCustom.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java index 0d615bb..0b26dd6 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelCustom.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelCustom.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelLayout.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelLayout.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java index 06c40ef..b033af9 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChannelLayout.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChannelLayout.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChapter.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChapter.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java index 9e264e6..d4f10e0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVChapter.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVChapter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVClass.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVClass.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java index 1b9f6ed..0d14566 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVClass.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVClass.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodec.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodec.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java index 2a3baa8..2886e44 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodec.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodec.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java index cdd8946..ff3ea62 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecDescriptor.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecDescriptor.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java index 87aef94..77178c5 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecDescriptor.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecHWConfig.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecHWConfig.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java index 11c9121..379dc37 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecHWConfig.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecHWConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParameters.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParameters.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java index fa60d97..c51b4a0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParameters.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParameters.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParser.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParser.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java index 27d5d1e..8d56a8d 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParser.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParser.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParserContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParserContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java index 6491fb5..02fa588 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVCodecParserContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVCodecParserContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVComponentDescriptor.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVComponentDescriptor.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java index 9920b9d..a532085 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVComponentDescriptor.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVComponentDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfo.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfo.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java index d681bf0..1178f5a 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfo.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfo.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfoList.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfoList.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java index 8264fb5..a0d75dd 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceInfoList.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceInfoList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceRect.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceRect.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java index ed4ffce..4cde344 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDeviceRect.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDeviceRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDictionaryEntry.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDictionaryEntry.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java index 320c8df..683cea7 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVDictionaryEntry.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVDictionaryEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilter.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilter.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java index 7b8dd7f..39b080b 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilter.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterChain.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterChain.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java index 5f8b931..48c1ae8 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterChain.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterChain.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java index d9d82c2..e3ba06f 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterFormatsConfig.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterFormatsConfig.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java index 0afbe7e..67bbb6c 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterFormatsConfig.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterFormatsConfig.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraph.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraph.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java index b3d81fd..91cec07 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraph.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraph.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraphSegment.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraphSegment.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java index 0873fcc..b00a36b 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterGraphSegment.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterGraphSegment.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterInOut.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterInOut.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java index 5096433..6501b7c 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterInOut.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterInOut.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterLink.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterLink.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java index 60dc805..1fa3a85 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterLink.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterLink.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterPadParams.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterPadParams.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java index adbcdd8..b1cd7fd 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterPadParams.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterPadParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterParams.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterParams.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java index 3e60a1b..010b9f0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFilterParams.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFilterParams.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFormatContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFormatContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java index b9141ca..79d54eb 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFormatContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFormatContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrame.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrame.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java index fdf2080..e81dc09 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrame.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrame.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrameSideData.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrameSideData.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java index 927a75c..6c5e619 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVFrameSideData.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVFrameSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWAccel.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWAccel.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java index f4971d7..dae7bd0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWAccel.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWAccel.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWDeviceContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWDeviceContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java index 9b93b6b..1f94470 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWDeviceContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWDeviceContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesConstraints.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesConstraints.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java index a9768dd..6d22e25 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesConstraints.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesConstraints.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java index 4679807..a4251f4 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVHWFramesContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVHWFramesContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOContext.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOContext.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java index d919e76..a69e8f3 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOContext.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOContext.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIODirEntry.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIODirEntry.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java index 46ad664..e64a08e 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIODirEntry.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIODirEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOInterruptCB.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOInterruptCB.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java index 37e83ca..a521135 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIOInterruptCB.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIOInterruptCB.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIndexEntry.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIndexEntry.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java index aa3a2a3..fda9437 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVIndexEntry.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVIndexEntry.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVInputFormat.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVInputFormat.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java index 6e802f0..efe0b61 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVInputFormat.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVInputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOpenCallback.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOpenCallback.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java index 7ecb064..e20c405 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOpenCallback.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOpenCallback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOption.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOption.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java index 7e61996..a1f3e43 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOption.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOption.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionArrayDef.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionArrayDef.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java index 5cb0c83..f12e951 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionArrayDef.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionArrayDef.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRange.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRange.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java index 129a82b..4133f7f 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRange.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRange.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRanges.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRanges.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java index 02f0d0b..1bef27a 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOptionRanges.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOptionRanges.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOutputFormat.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOutputFormat.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java index e3da478..89c749d 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVOutputFormat.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVOutputFormat.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacket.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacket.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java index e17538f..e80349a 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacket.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacket.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketList.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketList.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java index 43fca17..2107496 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketList.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketList.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketSideData.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketSideData.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java index eb50bb1..301a1e9 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPacketSideData.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPacketSideData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPanScan.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPanScan.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java index 9cdc9a5..38575f0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPanScan.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPanScan.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPixFmtDescriptor.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPixFmtDescriptor.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java index e0c4b9c..16d6da8 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVPixFmtDescriptor.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVPixFmtDescriptor.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProbeData.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProbeData.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java index 99bc221..4fe0f55 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProbeData.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProbeData.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProducerReferenceTime.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProducerReferenceTime.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java index 26bd77e..eb9b61e 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProducerReferenceTime.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProducerReferenceTime.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProfile.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProfile.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java index e3e7494..ca4a47e 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProfile.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProfile.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProgram.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProgram.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java index 094126c..d8d3b76 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVProgram.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVProgram.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRational.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRational.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java index 2fb6334..a3aa8b3 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRational.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRational.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRegionOfInterest.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRegionOfInterest.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java index 5d8eadf..f9ac4e0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVRegionOfInterest.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVRegionOfInterest.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStream.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStream.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java index 0008ab1..72db74d 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStream.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStream.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroup.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroup.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java index 4f3da0c..47585eb 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroup.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroup.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroupTileGrid.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroupTileGrid.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java index 9ff8439..2ed49e2 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVStreamGroupTileGrid.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVStreamGroupTileGrid.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitle.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitle.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java index e69ba2c..de2c6f0 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitle.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitle.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitleRect.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitleRect.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java index 5435248..4d5fb00 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/AVSubtitleRect.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/AVSubtitleRect.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java index e2f6c88..9e9eed6 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_1.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_1.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java index a3bf42d..f1171a5 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_1.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_1.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_2.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_2.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java index c190e68..8cf45b6 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/Libffmpeg_2.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/Libffmpeg_2.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/RcOverride.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/RcOverride.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java index 71e29d4..c20f227 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/RcOverride.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/RcOverride.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsFilter.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java similarity index 99% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsFilter.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java index 88b77c8..e34e594 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsFilter.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsFilter.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsVector.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsVector.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java index 6d794a0..3d123ff 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/SwsVector.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/SwsVector.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_create$free.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_create$free.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java index 44b8644..77dff7c 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_create$free.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_create$free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init$alloc.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init$alloc.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java index 9e1d3ee..b4544b4 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init$alloc.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$alloc.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$alloc.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java index 78e1d0e..b2cd42e 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$alloc.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$alloc.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$pool_free.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$pool_free.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java index 76ac0ea..18ff37b 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_buffer_pool_init2$pool_free.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_buffer_pool_init2$pool_free.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_format_control_message.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_format_control_message.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java index 1c02169..69d8a09 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_format_control_message.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_format_control_message.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat32.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat32.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java index 418b664..e10b45b 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat32.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat32.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat64.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java similarity index 98% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat64.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java index a91b04b..5c9c235 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_intfloat64.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_intfloat64.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_log_set_callback$callback.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_log_set_callback$callback.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java index e6aea23..d0fe43f 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/av_log_set_callback$callback.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/av_log_set_callback$callback.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute$func.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute$func.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java index e0cebfc..ea9b1f5 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute$func.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute2$func.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute2$func.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java index 0e6105c..030cd52 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avcodec_default_execute2$func.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avcodec_default_execute2$func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_action_func.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_action_func.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java index d2cb29b..c71c86d 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_action_func.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_action_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_execute_func.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_execute_func.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java index fb3aea2..37eaf39 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avfilter_execute_func.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avfilter_execute_func.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$read_packet.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$read_packet.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java index e892330..f6132d7 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$read_packet.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$read_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$seek.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$seek.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java index 1dedc65..25aea59 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$seek.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$seek.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$write_packet.java b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java similarity index 97% rename from ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$write_packet.java rename to ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java index f4dddd8..6468b5a 100644 --- a/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/windows/avio_alloc_context$write_packet.java +++ b/ffmpeg4java-windows/src/main/java/com/nextbreakpoint/ffmpeg4java/avio_alloc_context$write_packet.java @@ -1,6 +1,6 @@ // Generated by jextract -package com.nextbreakpoint.ffmpeg4java.windows; +package com.nextbreakpoint.ffmpeg4java; import java.lang.invoke.*; import java.lang.foreign.*; diff --git a/ffmpeg4java-windows/src/main/java/module-info.java b/ffmpeg4java-windows/src/main/java/module-info.java index 8e82f83..baed010 100644 --- a/ffmpeg4java-windows/src/main/java/module-info.java +++ b/ffmpeg4java-windows/src/main/java/module-info.java @@ -1,3 +1,3 @@ -module com.nextbreakpoint.ffmpeg4java.windows { - exports com.nextbreakpoint.ffmpeg4java.windows; +module com.nextbreakpoint.ffmpeg4java { + exports com.nextbreakpoint.ffmpeg4java; } \ No newline at end of file diff --git a/pom.xml b/pom.xml index 239a8ca..20e4698 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.nextbreakpoint com.nextbreakpoint.ffmpeg4java - 7.0.1-1.1 + 7.0.1-1.2 pom FFmpeg4Java FFmpeg4Java provides a Java wrapper of FFmpeg library @@ -273,8 +273,8 @@ windows - ffmpeg4java-windows-test - ffmpeg4java-windows-examples + ffmpeg4java-tests + ffmpeg4java-examples @@ -284,8 +284,8 @@ linux - ffmpeg4java-linux-test - ffmpeg4java-linux-examples + ffmpeg4java-tests + ffmpeg4java-examples @@ -295,8 +295,8 @@ macos - ffmpeg4java-macos-test - ffmpeg4java-macos-examples + ffmpeg4java-tests + ffmpeg4java-examples @@ -366,8 +366,6 @@ ${project.basedir} **/target/${project.artifactId}-${project.version}-x86_64.jar - **/target/${project.artifactId}-${project.version}-x86_64.jar - **/target/${project.artifactId}-${project.version}-x86_64.jar