Working with locally built GStreamer

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Working with locally built GStreamer

Russel Winder
Hi,

I need to do a bisect between GStreamer 1.16.3 and 1.18.0 to find the point at
which the GStreamer code breaks Me TV – which worked fine under 1.16.3 and
fails to stream audio or video under 1.18.0.

I found the following:

https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html?gi-language=c

However:

|> ninja -C ~/BuildArea/GST_Build_1.16 devenv
ninja: Entering directory `/home/users/russel/BuildArea/GST_Build_1.16'
ninja: error: unknown target 'devenv'

Is there an official correct set of instructions for noobies and newbies that
can lead me to be able to create a GStreamer 1.16.3, 1.18.0 and all commits in
between so as to find out where GStreamer broke?

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Working with locally built GStreamer

Thibault Saunier-4
Hello,

We changed the name of the target from 'uninstalled' to 'devenv' in the 1.18 cycle. The instruction for 1.16 will be in the Readme of the 1.16 branch.

- Thibault

Le sam. 17 oct. 2020 à 11:57, Russel Winder <[hidden email]> a écrit :
Hi,

I need to do a bisect between GStreamer 1.16.3 and 1.18.0 to find the point at
which the GStreamer code breaks Me TV – which worked fine under 1.16.3 and
fails to stream audio or video under 1.18.0.

I found the following:

https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html?gi-language=c

However:

|> ninja -C ~/BuildArea/GST_Build_1.16 devenv
ninja: Entering directory `/home/users/russel/BuildArea/GST_Build_1.16'
ninja: error: unknown target 'devenv'

Is there an official correct set of instructions for noobies and newbies that
can lead me to be able to create a GStreamer 1.16.3, 1.18.0 and all commits in
between so as to find out where GStreamer broke?

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Working with locally built GStreamer

Russel Winder
On Sat, 2020-10-17 at 14:14 -0300, Thibault Saunier wrote:
> Hello,
>
> We changed the name of the target from 'uninstalled' to 'devenv' in the
> 1.18 cycle. The instruction for 1.16 will be in the Readme of the 1.16
> branch.
>

Aha, hence the "conflict" between the "uninstalled" in the section title and
the "devenv"  in the command.

I think I now have a full 1.16.2 build working as it should – except that
deinterlacing of the video stream is not working as it was with GStreamer
1.16.2 installed in Sid :-( I shall have to sort this out before I can really
do the git bisect. But at least I now have a start.

Thanks for pushing me in the right direction, much appreciated.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Deinterlacing problem (was Re: Working with locally built GStreamer)

Tony Houghton

On Sun, 18 Oct 2020 at 16:56, Russel Winder <[hidden email]> wrote:

I think I now have a full 1.16.2 build working as it should – except that
deinterlacing of the video stream is not working as it was with GStreamer
1.16.2 installed in Sid :-( I shall have to sort this out before I can really
do the git bisect. But at least I now have a start.

Could that be related to this issue?

--
TH


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deinterlacing problem

Russel Winder
Tony,

By dumping the pipeline, it appears that if the VA-API plugins are available
in the bad plugins then some VA-API stuff gets used instead of what I had
assumed would be used.

The GstURIDecodeBin manages to use a GstVaapiDecodeBin which does some
deinterlacing, elements that are not used if the VA-API stuff is not present.

Obvious solution, remove all the VA-API stuff, but is this the right solution?



On Fri, 2020-10-23 at 15:53 +0100, Tony Houghton wrote:

> On Sun, 18 Oct 2020 at 16:56, Russel Winder <[hidden email]> wrote:
>
> > I think I now have a full 1.16.2 build working as it should – except that
> > deinterlacing of the video stream is not working as it was with GStreamer
> > 1.16.2 installed in Sid :-( I shall have to sort this out before I can
> > really
> > do the git bisect. But at least I now have a start.
> >
>
> Could that be related to this issue
> <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/607>;?
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Deinterlacing problem

Tony Houghton
VA-API probably has negligible benefit for SD MPEG 2 on a modern CPU, but you should try to use it for HDTV. Are you saying that the deinterlacing problems are caused by VA-API? What are the symptoms? Does gstreamer-vaapi let you control the deinterlacing mode? If all of its modes are problematic, perhaps it can be set to off and you can insert a separate deinterlacer element.

Also, I noticed that although gstreamer-vaapi gives high ranks to its decoders to override software mode, it doesn't promote its sink, so if you're using something like playbin or autovideosink it will probably use something like xvimagesink. You might want to try making sure it's using vaapisink or opengl.

On Fri, 23 Oct 2020 at 16:41, Russel Winder <[hidden email]> wrote:
Tony,

By dumping the pipeline, it appears that if the VA-API plugins are available
in the bad plugins then some VA-API stuff gets used instead of what I had
assumed would be used.

The GstURIDecodeBin manages to use a GstVaapiDecodeBin which does some
deinterlacing, elements that are not used if the VA-API stuff is not present.

Obvious solution, remove all the VA-API stuff, but is this the right solution?



On Fri, 2020-10-23 at 15:53 +0100, Tony Houghton wrote:
> On Sun, 18 Oct 2020 at 16:56, Russel Winder <[hidden email]> wrote:
>
> > I think I now have a full 1.16.2 build working as it should – except that
> > deinterlacing of the video stream is not working as it was with GStreamer
> > 1.16.2 installed in Sid :-( I shall have to sort this out before I can
> > really
> > do the git bisect. But at least I now have a start.
> >
>
> Could that be related to this issue
> <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/607>;?
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


--
TH


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deinterlacing problem

Russel Winder
On Fri, 2020-10-23 at 17:41 +0100, Tony Houghton wrote:
> VA-API probably has negligible benefit for SD MPEG 2 on a modern CPU, but
> you should try to use it for HDTV. Are you saying that the deinterlacing
> problems are caused by VA-API? What are the symptoms? Does gstreamer-vaapi
> let you control the deinterlacing mode? If all of its modes are
> problematic, perhaps it can be set to off and you can insert a separate
> deinterlacer element.

Without the VA-API available the GstDecodeBin uses a avdec_mpeg2video element.
Then there is a GstDeinterlace element further down the pipeline that does the
deinterlacing.

With the VA-API the GstDecodeBin uses a GstVaapiDecodeBin instead of a
avdec_mpeg2video element which then includes a GstVaapiPostproc that seems to
do deinterlacing except that it does it all wrong. The GstDeinterlacing
element is still in the pipeline but seems to have nothing to do since the
input is progressive.

I do some pipeline manipulation to deal with OpenGL as it is important to do
deinterlacing in the OpenGL memory. It seems as though I may have to do
something similar if using VA-API.

> Also, I noticed that although gstreamer-vaapi gives high ranks to its
> decoders to override software mode, it doesn't promote its sink, so if
> you're using something like playbin or autovideosink it will probably use
> something like xvimagesink. You might want to try making sure it's using
> vaapisink or opengl.

Both non-OpenGL/nonVA-API and VA-API pipelines use a GstPlaySinkVideoConvert
feeding into a GstGtkSink. I have attached PDF files of the two pipelines.

--
Russel.
===========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

pipeline_BBC_NEWS_build_vaapi_1.16.pdf (57K) Download Attachment
pipeline_BBC_NEWS_build_1.16.pdf (54K) Download Attachment
signature.asc (849 bytes) Download Attachment