Gstreamer dependencies with glib, libc and any other new or old libraries

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

Gstreamer dependencies with glib, libc and any other new or old libraries

DeepakRohan
Hi All,

I have a question.

Suppose if I select a particular gstreamer version say 1.6 for my gstreamer application development.

I know that the future/latest releases will have few fixes for other plugins. So using gstreamer-1.6 will have issues which would have been fixed in future releases.
Other than that if I need to do a project with glib and libc versions different than the currently used in gstreamer 1.6 (may be below or above also). Say current gstreamer-1.6 uses glib >= 2.4 (this is just an example if I am wrong regarding the version), then can I do projects with glib versions 2.0, 2.2, 2.6, 2.8 and so on without any issues..

Will there be any dependency that I have to take care during the project.

Also please share the problems that I may face and have to take care of them during the project, if at all it can be done.

The above thought is just for the case where I do not want to update gstreamer versions and dependencies and continue to develop on the gstreamer version as selected at the beginning.

Also let me know if the above idea is really possible.

Thanks in Advance
Rohan
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer dependencies with glib, libc and any other new or old libraries

Edward Hervey-4
Hi,

On Fri, 2017-05-19 at 02:55 -0700, DeepakRohan wrote:

> Hi All,
>
> I have a question.
>
> Suppose if I select a particular gstreamer version say 1.6 for my
> gstreamer
> application development.
>
> I know that the future/latest releases will have few fixes for other
> plugins. So using gstreamer-1.6 will have issues which would have
> been fixed
> in future releases.
> Other than that if I need to do a project with glib and libc versions
> different than the currently used in gstreamer 1.6 (may be below or
> above
> also). Say current gstreamer-1.6 uses glib >= 2.4 (this is just an
> example
> if I am wrong regarding the version), then can I do projects with
> glib
> versions 2.0, 2.2, 2.6, 2.8 and so on without any issues..
  Core GStreamer doesn't have that many dependencies (for example we
don't depend diretly on libc, but on glib).

  In regards to glib, there is a minimum glib version requirement which
you need. Trying to compile/run against a lower version will not be
possible (most likely because we are using new methods/symbols that
were introduced in that version). You *will* need that version (or more
recent) of the dependencies.

  Essentially the glib requirement is:
  * gst 1.0.x and above : glib 2.32 (and above)
  * gst 1.8.x and above : glib 2.40 (and above)

  So we bump the requirement ever 2 to 3 years, should be ok :)

> The above thought is just for the case where I do not want to update
> gstreamer versions and dependencies and continue to develop on the
> gstreamer
> version as selected at the beginning.

  Note that GLib, like GStreamer, has an API/ABI backwards
compatibility within the major versions (i.e. 1.x for gst and 2.x for
glib).

  If you developed an application against a certain version of
gstreamer and later install a new version of GStreamer you won't even
need to recompile your application (ABI backwards compatibility). And
if you recompile your application it will also work fine with a new
version (API backwards compatibility).
  Same for glib, if you install a new version your app and gstreamer
will compile fine against the new version.

  In general you want to setup a strategy to update to stable releases
of GStreamer (1.<even_number>.z). You should just have to install the
new versions and your app (and custom plugins) will work against the
new version without regression.

   BR

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

signature.asc (836 bytes) Download Attachment