PabloMK7 / citra

A Nintendo 3DS Emulator
GNU General Public License v2.0
3.74k stars 636 forks source link

FFmpeg: adapt to ffmpeg7 for dumping. #248

Closed kongfl888 closed 1 month ago

kongfl888 commented 2 months ago

After ffmpeg 5.1, it is deprecated, and has been completely removed in ffmpeg 7.

Our current project is using 6.0 headers, modifying it will not have any side effects.

For msys2,

the version of ffmpeg has been updated to 7.0.2.

We may need to update the library headers. https://github.com/PabloMK7/ext-library-headers/pull/1

PabloMK7 commented 2 months ago

Hello, mind briefly explaining why this is needed?

kongfl888 commented 2 months ago

Recording a video requires ffmpeg. And the released version of msys2 is already ffmpeg7.0.2. For example: citra-windows-msys2-20240821-5115f64

PabloMK7 commented 2 months ago

Yes I know, but are there any known benefits of bumping the version? Or is it just to keep everything updated?

kongfl888 commented 2 months ago

Yes I know, but are there any known benefits of bumping the version? Or is it just to keep everything updated?

Our released version is already packaged with ffmpeg7. The update will not have any functional impact.

(citra-windows-msys2-20240821-5115f64)

This is a compilation update. If you are using ffmpeg7 headers, the compilation will encounter errors.

kongfl888 commented 2 months ago

I opened an issue https://github.com/PabloMK7/citra/issues/249

PabloMK7 commented 1 month ago

Can you update the sumbodule as well to use commit: https://github.com/PabloMK7/ext-library-headers/commit/9d99e11d3d070d02ce419fb2a4feb68d434f06ba

rtiangha commented 1 month ago

FYI, msys2 switched to ffmpeg n7.1 so this may need to be done again; subbing in 7.1 headers makes Citra not compile.

kongfl888 commented 1 month ago

Adapt to ffmpeg 7.1 (and older versions), and rebase.

kongfl888 commented 1 month ago

Both the commits from August and October are compatibility fixes, and whether you update ext-library-headers or not will not affect the current state. But when you use new header files outside the project, such as setting USE_SYSTEM_FFMPEG_HEADERS to use local system header files, these fixes will take effect.

Have a good day...

PabloMK7 commented 1 month ago

Mind bumping the submodule again? Will merge after.

rtiangha commented 1 month ago

Edit: Ah never mind; I'm like 2 hours behind the latest info, lol.

kongfl888 commented 1 month ago

Mind bumping the submodule again? Will merge after.

done. thank you.