diff mbox series

[v2,4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.

Message ID 20190131121526.11816-5-lpdev@cordier.org
State Changes Requested
Headers show
Series *** Add Intel QuickSync support to ffmpeg *** | expand

Commit Message

LP C Jan. 31, 2019, 12:15 p.m. UTC
Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
---
 package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 -----------------------
 package/ffmpeg/Config.in                  |  6 ----
 package/ffmpeg/ffmpeg.hash                |  2 +-
 package/ffmpeg/ffmpeg.mk                  |  8 +-----
 4 files changed, 2 insertions(+), 48 deletions(-)
 delete mode 100644 package/ffmpeg/0001-ffmpeg-pthreads.patch

Comments

Thomas Petazzoni Feb. 2, 2019, 2:54 p.m. UTC | #1
Hello,

The commit title should be just:

	package/ffmpeg: bump to version 4.1

The fact that ffserver is removed should be part of the commit log.

On Thu, 31 Jan 2019 13:15:24 +0100
Louis-Paul Cordier <lpdev@cordier.org> wrote:

> Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>

I'd like to hear from Bernd about this ffmpeg bump. If I remember well,
major ffmpeg bumps are typically breaking some APIs, causing build
issues with packages that use ffmpeg.

Have you verified that other Buildroot packages that use ffmpeg do not
break after this ffmpeg version bump ?

>  package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 -----------------------

Would be good to mention in the sommit log why this patch is removed
(accepted upstream ? no longer relevant ?)


> -config BR2_PACKAGE_FFMPEG_FFSERVER
> -	bool "Build ffserver"
> -	depends on BR2_USE_MMU # fork()
> -	help
> -	  FFserver is a streaming server for both audio and video.

If ffserver is no longer supported, we want to move this option to
Config.in.legacy so that users who have configurations with this
enabled are aware.

Thanks!

Thomas
Bernd Kuhls Feb. 3, 2019, 8:48 a.m. UTC | #2
Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:

> I'd like to hear from Bernd about this ffmpeg bump. If I remember well,
> major ffmpeg bumps are typically breaking some APIs, causing build
> issues with packages that use ffmpeg.

Hi Thomas,

afaik the only package left over to be fixed before we bump ffmpeg to 4.x 
is gstreamer1/gst1-libav, see my patch:
http://patchwork.ozlabs.org/patch/962138/

In the meantime upstream released version 1.15.1 as unstable release so 
we have two choices: Apply my patch or bump gstreamer1 to an unstable 
version.

Regards, Bernd
Peter Korsgaard Feb. 3, 2019, 2:40 p.m. UTC | #3
>>>>> "Bernd" == Bernd Kuhls <bernd.kuhls@t-online.de> writes:

 > Am Sat, 02 Feb 2019 15:54:00 +0100 schrieb Thomas Petazzoni:
 >> I'd like to hear from Bernd about this ffmpeg bump. If I remember well,
 >> major ffmpeg bumps are typically breaking some APIs, causing build
 >> issues with packages that use ffmpeg.

 > Hi Thomas,

 > afaik the only package left over to be fixed before we bump ffmpeg to 4.x 
 > is gstreamer1/gst1-libav, see my patch:
 > http://patchwork.ozlabs.org/patch/962138/

 > In the meantime upstream released version 1.15.1 as unstable release so 
 > we have two choices: Apply my patch or bump gstreamer1 to an unstable 
 > version.

I would prefer to stick with the stable versions if possible.
LP C Feb. 4, 2019, 9:30 a.m. UTC | #4
> De : Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> À : Louis-Paul Cordier <lpdev@cordier.org>
> Sujet : Re: [Buildroot] [PATCH v2 4/6] ffmpeg: bump to version 4.1. ffserver is not supported anymore.
> Date : 02/02/2019 15:54:00 Europe/Paris
> Copie à : buildroot@buildroot.org;
>    Bernd Kuhls <bernd.kuhls@t-online.de>;
>    MahyarKoshkouei <mahyar.koshkouei@gmail.com>
>
> Hello,
>
> The commit title should be just:
>
> package/ffmpeg: bump to version 4.1
>
> The fact that ffserver is removed should be part of the commit log.
>

Will be added.

> On Thu, 31 Jan 2019 13:15:24 +0100
> Louis-Paul Cordier <lpdev@cordier.org> wrote:
>
> > Signed-off-by: Louis-Paul Cordier <lpdev@cordier.org>
>
> I'd like to hear from Bernd about this ffmpeg bump. If I remember well,
> major ffmpeg bumps are typically breaking some APIs, causing build
> issues with packages that use ffmpeg.
>

According to my experience with FFMpeg, API are marked as deprecated. They can still be used and linked correctly against all application. However, the behaviour of the program can differ. What about creating a ffmpeg4 package, just like opencv2/3 packages?

> Have you verified that other Buildroot packages that use ffmpeg do not
> break after this ffmpeg version bump ?
>
> > package/ffmpeg/0001-ffmpeg-pthreads.patch | 34 -----------------------
>
> Would be good to mention in the sommit log why this patch is removed
> (accepted upstream ? no longer relevant ?)
>

The patch did not apply to ffmpeg4. To be honest, I did not investigate this. Thank you for pointing this out I will rework this.

>
> > -config BR2_PACKAGE_FFMPEG_FFSERVER
> > - bool "Build ffserver"
> > - depends on BR2_USE_MMU # fork()
> > - help
> > - FFserver is a streaming server for both audio and video.
>
> If ffserver is no longer supported, we want to move this option to
> Config.in.legacy so that users who have configurations with this
> enabled are aware.
>

This does not appear in the official documentation. Would it be possible to add it?

> Thanks!
>
> Thomas
> -- 
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
Thomas Petazzoni Feb. 4, 2019, 9:39 a.m. UTC | #5
Hello,

On Sun, 03 Feb 2019 09:48:22 +0100
Bernd Kuhls <bernd.kuhls@t-online.de> wrote:

> afaik the only package left over to be fixed before we bump ffmpeg to 4.x 
> is gstreamer1/gst1-libav, see my patch:
> http://patchwork.ozlabs.org/patch/962138/

OK, I see this patch is marked as Changes Requested. Louis-Paul:
before we can update ffmpeg to 4.x, we need to solve this issue. So we
need to have a solution to this gstreamer1/gst1-libav ffmpeg 4.x
compatibiility issue in your patch series, prior to the ffmpeg 4.x bump.

Best regards,

Thomas
Thomas Petazzoni Feb. 4, 2019, 10:20 a.m. UTC | #6
Hello,

On Mon,  4 Feb 2019 10:30:54 +0100 (CET)
lpdev@cordier.org wrote:

> > I'd like to hear from Bernd about this ffmpeg bump. If I remember well,
> > major ffmpeg bumps are typically breaking some APIs, causing build
> > issues with packages that use ffmpeg.
> 
> According to my experience with FFMpeg, API are marked as deprecated.
> They can still be used and linked correctly against all application.

Did you see the feedback from Bernd ? I know Bernd always forgets to Cc
people when replying, so make sure to check the mailing list for his
reply.

> However, the behaviour of the program can differ. What about creating
> a ffmpeg4 package, just like opencv2/3 packages?

Apparently, except for gstreamer1/gst1-libav that needs to be fixed for
ffmpeg 4.x, all other packages have already been fixed to work with
ffmpeg 4.x. So there is no reason to introduce a separate ffmpeg4
package. It would create more complexity/

> > If ffserver is no longer supported, we want to move this option to
> > Config.in.legacy so that users who have configurations with this
> > enabled are aware.
> 
> This does not appear in the official documentation. Would it be
> possible to add it?

Patches welcome ! :-)

Thomas
diff mbox series

Patch

diff --git a/package/ffmpeg/0001-ffmpeg-pthreads.patch b/package/ffmpeg/0001-ffmpeg-pthreads.patch
deleted file mode 100644
index c6d75d2297..0000000000
--- a/package/ffmpeg/0001-ffmpeg-pthreads.patch
+++ /dev/null
@@ -1,34 +0,0 @@ 
-From patchwork Wed Oct 25 13:32:36 2017
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [FFmpeg-devel] configure: v4l2_m2m depends on pthreads
-From: Mark Thompson <sw@jkqxz.net>
-X-Patchwork-Id: 5688
-Message-Id: <27e5b360-1210-d550-c8de-a761f8e9f326@jkqxz.net>
-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
-Date: Wed, 25 Oct 2017 14:32:36 +0100
-
-Fixes build with --disable-pthreads.
-
-Downloaded from upstream patchworks:
-https://patchwork.ffmpeg.org/patch/5688/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
----
- configure | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index c86e578..76523c8 100755
---- a/configure
-+++ b/configure
-@@ -2780,7 +2780,7 @@ omx_rpi_select="omx"
- qsvdec_select="qsv"
- qsvenc_select="qsv"
- vaapi_encode_deps="vaapi"
--v4l2_m2m_deps_any="linux_videodev2_h"
-+v4l2_m2m_deps="linux_videodev2_h pthreads"
- 
- hwupload_cuda_filter_deps="cuda"
- scale_npp_filter_deps="cuda libnpp"
diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in
index 2d94c5712a..eec7ce0f6b 100644
--- a/package/ffmpeg/Config.in
+++ b/package/ffmpeg/Config.in
@@ -63,12 +63,6 @@  config BR2_PACKAGE_FFMPEG_FFPLAY
 comment "ffplay needs a toolchain w/ dynamic library"
 	depends on BR2_STATIC_LIBS
 
-config BR2_PACKAGE_FFMPEG_FFSERVER
-	bool "Build ffserver"
-	depends on BR2_USE_MMU # fork()
-	help
-	  FFserver is a streaming server for both audio and video.
-
 config BR2_PACKAGE_FFMPEG_FFPROBE
 	bool "Build ffprobe"
 	help
diff --git a/package/ffmpeg/ffmpeg.hash b/package/ffmpeg/ffmpeg.hash
index e00c4ec56c..c21561698f 100644
--- a/package/ffmpeg/ffmpeg.hash
+++ b/package/ffmpeg/ffmpeg.hash
@@ -1,5 +1,5 @@ 
 # Locally calculated
-sha256 741cbd6394eaed370774ca4cc089eaafbc54d0824b9aa360d4b3b0cbcbc4a92c  ffmpeg-3.4.5.tar.xz
+sha256 a38ec4d026efb58506a99ad5cd23d5a9793b4bf415f2c4c2e9c1bb444acd1994  ffmpeg-4.1.tar.xz
 sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  COPYING.GPLv2
 sha256 b634ab5640e258563c536e658cad87080553df6f34f62269a21d554844e58bfe  COPYING.LGPLv2.1
 sha256 73d99bc83313fff665b426d6672b4e0479102bc402fe22314ac9ce94a38aa5ff  LICENSE.md
diff --git a/package/ffmpeg/ffmpeg.mk b/package/ffmpeg/ffmpeg.mk
index b86d465df8..c42fa54cd1 100644
--- a/package/ffmpeg/ffmpeg.mk
+++ b/package/ffmpeg/ffmpeg.mk
@@ -4,7 +4,7 @@ 
 #
 ################################################################################
 
-FFMPEG_VERSION = 3.4.5
+FFMPEG_VERSION = 4.1
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
@@ -84,12 +84,6 @@  else
 FFMPEG_CONF_OPTS += --disable-ffplay
 endif
 
-ifeq ($(BR2_PACKAGE_FFMPEG_FFSERVER),y)
-FFMPEG_CONF_OPTS += --enable-ffserver
-else
-FFMPEG_CONF_OPTS += --disable-ffserver
-endif
-
 ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y)
 FFMPEG_CONF_OPTS += --enable-avresample
 else