# Download the source code

Source: [https://docs.qualcomm.com/doc/80-88500-2/topic/41_Download_the_source_code.html](https://docs.qualcomm.com/doc/80-88500-2/topic/41_Download_the_source_code.html)

## Use the source code tar package

1. Go to [http://archive.ubuntu.com/ubuntu/pool/universe/g/gst-omx/](http://archive.ubuntu.com/ubuntu/pool/universe/g/gst-omx/) to download the source code.
2. Add the following source URL for the package:

        SRC_URI[md5sum] = "6362786d2b6cce34de08c86b7847f782"Copy to clipboard

    The version of a recipe is extracted from the recipe filename. For example, if the recipe filename is expat\_2.0.1.bb, then the default version is "2.0.1". Override the version in a recipe when it is building an unstable version (that is the development version) from a source code repository (for example, Git or subversion).

    SRC\_URI[md5sum]: Acquire the md5sum from the [https://packages.ubuntu.com/](https://packages.ubuntu.com/) page.

To configure gst-omx, run the following code:

        OpenMAX IL target of --with-omx-target={generic,rpi,bellagio}Copy to clipboard

        EXTRA_OECONF = --with-omx-target=genericCopy to clipboard

The example recipe content for this method is as follows:
- Summary: gstreamer1.0-omx-generic
- Description: This plug-in wraps available OpenMAX IL components and makes them available as standard GStreamer elements.
- License: LGPLv2.1
- LIC\_FILES\_CHKSUM file: //COPYING;md5=4fbd65380cdd255951079008b364516c
- Source URI = http://ports.ubuntu.com/pool/universe/g/gst-omx/gst-omx-listcomponents\_1.16.2-1\_arm64.deb
- SRC\_URI[md5sum] = `6362786d2b6cce34de08c86b7847f782`
- Inherit autotools
- EXTRA\_OECONF = `--with-omx-target=generic`

## Use the Git repository

1. Go to [https://gitlab.freedesktop.org/gstreamer/gst-omx](https://gitlab.freedesktop.org/gstreamer/gst-omx).
2. Set an example source URI as follows:

        SRC_URI = git://gitlab.freedesktop.org/gstreamer/gst-omx.git;protocol=https;branch=1.16;tag=1.16.2Copy to clipboard
3. Ensure that the branch and tag numbers match the search results.
    - `git://` shows that the fetcher submodule fetches the code from the Git source control system.
    - `branch=1.16` shows the branches of the Git tree to clone. If unset, it is assumed to be the master. The number of branch parameters must match the number of name parameters.
    - `tag` specifies a tag to use for the checkout.

For more information about git fetcher, see [https://docs.yoctoproject.org/bitbake/2.2/bitbake-user-manual/bitbake-user-manual-fetching.html#git-fetcher-git](https://docs.yoctoproject.org/bitbake/2.2/bitbake-user-manual/bitbake-user-manual-fetching.html#git-fetcher-git).

Note: For `gst-omx`, there is a git submodule in the `gst-omx` git repository. Add `do_configure_prepend` to initiate and update the submodule:

    do_configure_prepend() {
        cd ${S}
        git submodule init
        git submodule update
        cd -
    }Copy to clipboard

The gerrit for this method is as follows:

    SUMMARY = "gst-omx"
    DESCRIPTION = " This plugin wraps available OpenMAX IL components \
    and makes them available as standard GStreamer elements."
     
    LICENSE = "LGPLv2.1"
    LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
     
    SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-omx.git;protocol=https;branch=1.16;tag=1.16.4"
    S = "${WORKDIR}/git"
     
    inherit autotools
     
    EXTRA_OECONF = "--with-omx-target=generic"
     
    do_configure_prepend() {
        cd ${S}
        git submodule init
        git submodule update
        cd -
    }Copy to clipboard

**Parent Topic:** [Write a new recipe](https://docs.qualcomm.com/doc/80-88500-2/topic/39_Write_a_new_recipe.html)

Last Published: Aug 18, 2023

[Previous Topic
License parameter](https://docs.qualcomm.com/bundle/publicresource/80-88500-2/topics/40_License_parameter.md) [Next Topic
Dependency](https://docs.qualcomm.com/bundle/publicresource/80-88500-2/topics/42_Dependency.md)