Question about decodebin3 and decodebin availability in Android GStreamer 1.24

Артемий Величко via gstreamer-d evel <[email protected]> Fri, 26 Sep 2025 14:14:14 +0300
Newsgroups gmane.comp.video.gstreamer.devel
Message-ID <CANQSzE_MqpzPW30ah1aTNjcrbkakPE-16iWAunw2ZagH6f=Yng@mail.gmail.com>
--0000000000007ea7eb063fb263fd
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello GStreamer developers,

I am working on an Android project using GStreamer 1.24 and have
encountered an issue with decodebin3 and decodebin.

In GStreamer 1.22, I was able to create a decodebin element on Android
without issues. However, after upgrading to 1.24, the call:

gst_element_factory_make("decodebin3", "decodebin3")
and
gst_eleement_factory_make("decodebin", "decodebin")

returns NULL.

I have verified the libraries included in my Android build, and the
following are present:

   -

   libgstplay-1.0.a
   -

   libgstplayer-1.0.a
   -

   libgstbase-1.0.a
   -

   libgstaudio-1.0.a

Despite this, decodebin3 is unavailable.

According to the GStreamer 1.24 release notes, decodebin3 and playbin3 are
now the recommended components and stable:

=E2=80=9CPlaybin3 and decodebin3 are now stable and the default in gst-play=
-1.0,
GstPlay/GstPlayer =E2=80=A6 Application developers are strongly recommended=
 to
switch to using those components instead of the legacy playbin and
(uri)decodebin.=E2=80=9D

My questions are:

   1.

   Should decodebin3 be included by default in the Android universal static
   build, or is it necessary to explicitly enable some modules/plugins duri=
ng
   the Cerbero build?
   2.

   If it is not included by default, which libraries or plugins need to be
   linked so that decodebin3  and decodebin become available on Android?
   3.

   Is there a recommended way to build a static Android GStreamer 1.24 that
   ensures decodebin3 and decodebin are included, similar to how it worked
   in GStreamer 1.22?

Any guidance would be greatly appreciated, as this is critical for
upgrading our Android application to GStreamer 1.24.

Thank you very much for your time and support.

--0000000000007ea7eb063fb263fd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p>Hello GStreamer developers,</p>
<p>I am working on an Android project using GStreamer 1.24 and have encount=
ered an issue with <code>decodebin3 and decodebin</code>.</p>
<p>In GStreamer 1.22, I was able to create a <code>decodebin</code> element=
 on Android without issues. However, after upgrading to 1.24, the call:</p>
<pre class=3D"gmail-overflow-visible!"><div class=3D"gmail-contain-inline-s=
ize gmail-rounded-2xl gmail-relative gmail-bg-token-sidebar-surface-primary=
"><div class=3D"gmail-sticky gmail-top-9"><div class=3D"gmail-absolute end-=
0 gmail-bottom-0 gmail-flex gmail-h-9 gmail-items-center gmail-pe-2"><div c=
lass=3D"gmail-bg-token-bg-elevated-secondary gmail-text-token-text-secondar=
y gmail-flex gmail-items-center gmail-gap-4 gmail-rounded-sm gmail-px-2 gma=
il-font-sans gmail-text-xs"></div></div></div><div class=3D"gmail-overflow-=
y-auto gmail-p-4" dir=3D"ltr"><code class=3D"gmail-whitespace-pre! gmail-la=
nguage-c">gst_element_factory_make(<span class=3D"gmail-hljs-string">&quot;=
decodebin3&quot;</span>, <span class=3D"gmail-hljs-string">&quot;decodebin3=
&quot;</span>)
and=20
gst_eleement_factory_make(&quot;decodebin&quot;, &quot;decodebin&quot;)</co=
de></div></div></pre>
<p>returns <code>NULL</code>.</p>
<p>I have verified the libraries included in my Android build, and the foll=
owing are present:</p>
<ul>
<li>
<p><code>libgstplay-1.0.a</code></p>
</li>
<li>
<p><code>libgstplayer-1.0.a</code></p>
</li>
<li>
<p><code>libgstbase-1.0.a</code></p>
</li>
<li>
<p><code>libgstaudio-1.0.a</code></p>
</li>
</ul>
<p>Despite this, <code>decodebin3</code> is unavailable.</p>
<p>According to the GStreamer 1.24 release notes, <code>decodebin3</code> a=
nd <code>playbin3</code> are now the recommended components and stable:</p>
<blockquote>
<p>=E2=80=9CPlaybin3 and decodebin3 are now stable and the default in gst-p=
lay-1.0, GstPlay/GstPlayer =E2=80=A6 Application developers are strongly re=
commended to switch to using those components instead of the legacy playbin=
 and (uri)decodebin.=E2=80=9D</p>
</blockquote>
<p>My questions are:</p>
<ol>
<li>
<p>Should <code>decodebin3</code> be included by default in the Android uni=
versal static build, or is it necessary to explicitly enable some modules/p=
lugins during the Cerbero build?</p>
</li>
<li>
<p>If it is not included by default, which libraries or plugins need to be =
linked so that <code>decodebin3</code>=C2=A0 and decodebin become available=
 on Android?</p>
</li>
<li>
<p>Is there a recommended way to build a static Android GStreamer 1.24 that=
 ensures <code>decodebin3 and decodebin</code>=C2=A0are included, similar t=
o how it worked in GStreamer 1.22?</p>
</li>
</ol>
<p>Any guidance would be greatly appreciated, as this is critical for upgra=
ding our Android application to GStreamer 1.24.</p>
<p>Thank you very much for your time and support.</p></div>

--0000000000007ea7eb063fb263fd--