# Audio-video playback

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/gst-audio-video-playback.html](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-audio-video-playback.html)

The **gst-audio-video-playback** application supports simultaneous audio and video
        decoding and playback of FLAC/MP3 audio and AVC/HEVC video.

The following are the applicable scenarios to use the gst-audio-video-playback
            application:

- Media player applications
- Streaming services
- Video conferencing
- Surveillance systems
- Educational platforms
- Entertainment platforms that can play back audio and video files in various
                formats

As shown in the following figure, the pipeline involves several elements for audio and
            video playback. For more information about these elements, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-audio-video-playback.html#gst-audio-video-playback__section_g4v_31g_4bc).

Figure : gst-audio-video-playback pipeline
            
            <?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" data-name="Layer 2" xmlns="http://www.w3.org/2000/svg" width="1050" height="520" viewbox="0 0 1050 520">
  <g>
    <rect x=".499954223632812" y=".500077486038208" width="1049" height="519" rx="7.5" ry="7.5" style="fill: #fafafa;"></rect>
    <path d="M1042.000015258789062.999955415725708c3.85986328125,0,7,3.140132904052734,7,7v504c0,3.85986328125-3.14013671875,7-7,7H8.000015258789062c-3.85986328125,0-7-3.14013671875-7-7V7.999955415725708C1.000015258789062,4.140088319778442,4.140151977539062.999955415725708,8.000015258789062.999955415725708h1034M1042.000015258789062-.000044584274292H8.000015258789062C3.581741333007812-.000044584274292.000015258789062,3.581689119338989.000015258789062,7.999955415725708v504c0,4.41827392578125,3.58172607421875,8,8,8h1034c4.41827392578125,0,8-3.58172607421875,8-8V7.999955415725708C1050.000015258789062,3.581689119338989,1046.418289184570312-.000044584274292,1042.000015258789062-.000044584274292h0Z" style="fill: #d2d7e1;"></path>
  </g>
  <g>
    <g>
      <text transform="translate(21.39129638671875 226.006034135818481)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Video</tspan><tspan x="-.6015625" y="28">Audio</tspan><tspan x="7.640625" y="56">MP4</tspan></text>
      <g>
        <rect x="102.316942759050107" y="218.54141920454731" width="120" height="59.999992741378264" rx="4.000000000000004" ry="4.000000000000004" style="fill: #007884;"></rect>
        <text transform="translate(117.074764251708984 243.617110608611256)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Video, audio,</tspan><tspan x="10.91015625" y="19.2001953125">MP4 data</tspan></text>
        <text transform="translate(140.398853302001953 211.343764661345631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">filesrc</tspan></text>
        <g>
          <line x1="222.316942691802979" y1="248.541428804397583" x2="236.575959205627441" y2="248.541428804397583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="235.408766746520996 252.530472993851618 242.316943168640137 248.541428804397583 235.408766746520996 244.552354097366333 235.408766746520996 252.530472993851618"></polygon>
        </g>
        <rect x="242.207281897171015" y="218.54141920454731" width="120.000000000000909" height="59.999992741378264" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
        <text transform="translate(260.171981811523438 253.136840222869068)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Demultiplex</tspan></text>
        <text transform="translate(270.910263061523438 211.343764661345631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">qtdemux</tspan></text>
        <g>
          <line x1="362.207275390625" y1="248.541428804397583" x2="376.466293334960938" y2="248.541428804397583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="375.299102783203125 252.530472993851618 382.207275390625 248.541428804397583 375.299102783203125 244.552354097366333 375.299102783203125 252.530472993851618"></polygon>
        </g>
        <rect x="382.097621035292832" y="218.54141920454731" width="120.000000000000909" height="59.999992741378264" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
        <text transform="translate(420.253768920898438 253.136840222869068)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">queue</tspan></text>
      </g>
      <g>
        <line x1="662.005661010742188" y1="78.738755464553833" x2="686.264694213867188" y2="78.738755464553833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="685.097488403320312 82.727822542190552 692.005661010742188 78.738755464553833 685.097488403320312 74.749688386917114 685.097488403320312 82.727822542190552"></polygon>
      </g>
      <g>
        <polyline points="536.264694213867188 422.939713716506958 520.872482299804688 422.939713716506958 520.872482299804688 78.738755464553833 536.264694213867188 78.738755464553833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
        <polygon points="535.097488403320312 418.950639009475708 542.005661010742188 422.939713716506958 535.097488403320312 426.928757905960083 535.097488403320312 418.950639009475708"></polygon>
        <polygon points="535.097488403320312 82.727822542190552 542.005661010742188 78.738755464553833 535.097488403320312 74.749688386917114 535.097488403320312 82.727822542190552"></polygon>
      </g>
      <g>
        <line x1="520.872482299804688" y1="304.640549898147583" x2="536.264694213867188" y2="304.640549898147583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="535.097488403320312 308.629624605178833 542.005661010742188 304.640549898147583 535.097488403320312 300.651505708694458 535.097488403320312 308.629624605178833"></polygon>
      </g>
      <line x1="502.097621035293741" y1="248.541415575235987" x2="520.872483314002238" y2="248.541415575235987" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <g>
        <line x1="520.872482299804688" y1="192.442368745803833" x2="536.264694213867188" y2="192.442368745803833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="535.097488403320312 196.431428194046021 542.005661010742188 192.442368745803833 535.097488403320312 188.453309297561646 535.097488403320312 196.431428194046021"></polygon>
      </g>
      <text transform="translate(707.028152465820312 41.541091321501881)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">v4l2h264dec</tspan></text>
      <rect x="692.649321085224074" y="48.738759244810353" width="120" height="59.999992741379174" rx="3.999999516089702" ry="3.999999516089702" style="fill: #007884;"></rect>
      <text transform="translate(725.664871215820312 83.414428113494068)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
      <g>
        <line x1="812.735488891601562" y1="78.738755464553833" x2="836.994522094726562" y2="78.738755464553833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="835.827346801757812 82.727822542190552 842.735488891601562 78.738755464553833 835.827346801757812 74.749688386917114 835.827346801757812 82.727822542190552"></polygon>
      </g>
      <text transform="translate(859.476760864257812 41.541091321501881)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">waylandsink</tspan></text>
      <g>
        <line x1="662.005661010742188" y1="192.442368745803833" x2="686.264694213867188" y2="192.442368745803833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="685.097488403320312 196.431428194046021 692.005661010742188 192.442368745803833 685.097488403320312 188.453309297561646 685.097488403320312 196.431428194046021"></polygon>
      </g>
      <text transform="translate(707.028152465820312 155.244689343962818)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">v4l2h265dec</tspan></text>
      <rect x="692.649321085224074" y="162.442372526060353" width="120" height="59.999992741379174" rx="3.999999516089702" ry="3.999999516089702" style="fill: #007884;"></rect>
      <text transform="translate(725.664871215820312 197.118041394744068)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
      <g>
        <line x1="812.735488891601562" y1="192.442368745803833" x2="836.994522094726562" y2="192.442368745803833" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="835.827346801757812 196.431428194046021 842.735488891601562 192.442368745803833 835.827346801757812 188.453309297561646 835.827346801757812 196.431428194046021"></polygon>
      </g>
      <rect x="843.379167601495283" y="48.738759244810353" width="119.999999999996362" height="175.386491555556859" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(877.500198364257812 131.507781384978443)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Display</tspan><tspan x="-7.78125" y="19.2001953125">rendering</tspan></text>
      <polyline points="67.167697601488726 221.195268168035 84.46592142215377 221.195268168035 84.46592142215377 275.887562982440613 67.167697601488726 275.887562982440613" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
      <g>
        <line x1="662.005661010742188" y1="304.640549898147583" x2="686.264694213867188" y2="304.640549898147583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="685.097488403320312 308.629624605178833 692.005661010742188 304.640549898147583 685.097488403320312 300.651505708694458 685.097488403320312 308.629624605178833"></polygon>
      </g>
      <text transform="translate(726.453933715820312 267.442885755095631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">flacdec</tspan></text>
      <rect x="692.649321085224074" y="274.640567029844533" width="120" height="59.999992741380083" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(725.664871215820312 309.316237805876881)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
      <g>
        <line x1="812.735488891601562" y1="304.640549898147583" x2="836.994522094726562" y2="304.640549898147583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="835.827346801757812 308.629624605178833 842.735488891601562 304.640549898147583 835.827346801757812 300.651505708694458 835.827346801757812 308.629624605178833"></polygon>
      </g>
      <text transform="translate(869.640823364257812 267.442885755095631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">pulsesink</tspan></text>
      <g>
        <line x1="662.005661010742188" y1="418.344163179397583" x2="686.264694213867188" y2="418.344163179397583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="685.097488403320312 422.333237886428833 692.005661010742188 418.344163179397583 685.097488403320312 414.355118989944458 685.097488403320312 422.333237886428833"></polygon>
      </g>
      <g>
        <text transform="translate(564.212631225585938 41.541091321501881)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">h264parse</tspan></text>
        <rect x="542.005664246833476" y="48.738759244810353" width="120" height="59.999992741379174" rx="3.999999516089702" ry="3.999999516089702" style="fill: #007884;"></rect>
        <text transform="translate(581.536849975585938 83.334166883025318)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
        <text transform="translate(564.212631225585938 155.244689343962818)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">h265parse</tspan></text>
        <rect x="542.005664246833476" y="162.442372526060353" width="120" height="59.999992741379174" rx="3.999999516089702" ry="3.999999516089702" style="fill: #007884;"></rect>
        <text transform="translate(581.536849975585938 197.037795423064381)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
        <text transform="translate(568.837631225585938 267.442885755095631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">flacparse</tspan></text>
        <rect x="542.005664246833476" y="274.640567029844533" width="120" height="59.999992741380083" rx="3.999999516090611" ry="3.999999516090611" style="fill: #007884;"></rect>
        <text transform="translate(581.536849975585938 309.235976575408131)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
        <text transform="translate(542.091537475585938 381.146499036345631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">mpegaudioparse</tspan></text>
        <rect x="542.005664246833476" y="388.344180311094533" width="120" height="59.999992741379174" rx="3.999999516088792" ry="3.999999516088792" style="fill: #007884;"></rect>
        <text transform="translate(581.536849975585938 422.939605115447193)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Parse</tspan></text>
      </g>
      <text transform="translate(681.719558715820312 381.146499036345631)" style="font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">mpg123audiocodec</tspan></text>
      <rect x="692.649321085224074" y="388.344180311094533" width="120" height="59.999992741379174" rx="3.999999516088792" ry="3.999999516088792" style="fill: #007884;"></rect>
      <text transform="translate(725.664871215820312 423.019858716521412)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Decode</tspan></text>
      <g>
        <line x1="812.735488891601562" y1="418.344163179397583" x2="836.994522094726562" y2="418.344163179397583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="835.827346801757812 422.333237886428833 842.735488891601562 418.344163179397583 835.827346801757812 414.355118989944458 835.827346801757812 422.333237886428833"></polygon>
      </g>
      <rect x="843.379167601495283" y="274.640567029844533" width="119.999999999996362" height="175.386491555556859" rx="4" ry="4" style="fill: #007884;"></rect>
      <text transform="translate(877.500198364257812 357.409596799407154)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 16px;"><tspan x="0" y="0">Display</tspan><tspan x="-7.78125" y="19.2001953125">rendering</tspan></text>
      <g>
        <g>
          <rect x="993.854764125917427" y="119.5607995745886" width="35.269345439999597" height="24.688541807999172" rx="4" ry="4" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></rect>
          <line x1="1004.435567757915123" y1="151.303210470588965" x2="1018.54330593391569" y2="151.303210470588965" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
        </g>
        <line x1="1011.489436845913588" y1="144.249341382587772" x2="1011.489436845913588" y2="151.303210470588965" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></line>
      </g>
      <g>
        <path d="M1008.254707992742624,345.731075778455306c-.000900265044038-.622974256122689-.506650857027125-1.127264587685204-1.129625113149814-1.126363941171803-.298198300468357.000431059112088-.584093487275823.118923868081765-.795167493575718.32956681527412l-5.414378613168083,5.412778735370011c-.422061800782103.424586357593398-.996523215009802.662552348911959-1.5951941295898.660797595009171h-3.865584754359588c-.883652103486384,0-1.599993762982194.716340896557995-1.599993762982194,1.599993762980375v9.599962577884071c0,.883652866422381.716341659495811,1.599993762980375,1.599993762982194,1.599993762980375h3.865584754359588c.598670914579998-.001754753902787,1.173132328807696.236211237416683,1.5951941295898.660797595009171l5.412777972433105,5.414380139039167c.440075493992481.440943715704634,1.154281694281963.441645617266659,1.595225409986597.001571649147081.212407619266742-.211989530078426.331585926665866-.499875981095101.331167837473913-.799969415777014v-23.353509275744727Z" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        <path d="M1016.25467680764632,352.607848745917181c2.133326034556376,2.844433186868628,2.133326034556376,6.755529391015443,0,9.599962577884071" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
        <path d="M1021.637056339008268,367.590190855162291c5.623562062875862-5.623493398590654,5.623616994300392-14.741034456149464.000125121583551-20.364595756085691-.000042724444938-.000041198572035-.000082397142251-.000083160079157-.000125121583551-.000124358647554" style="fill: none; stroke: #000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px;"></path>
      </g>
      <line x1="963.379167601491645" y1="131.507575261072816" x2="992.804669965633366" y2="131.507575261072816" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <line x1="963.379167601491645" y1="357.409430729822816" x2="992.804669965633366" y2="357.409430729822816" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <g>
        <line x1="67.167697601488726" y1="248.541415575237806" x2="101.326449343945569" y2="248.541415575237806" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></line>
        <g>
          <line x1="67.167694091796875" y1="248.541428804397583" x2="95.585464477539062" y2="248.541428804397583" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
          <polygon points="94.41827392578125 252.530472993851618 101.326446533203125 248.541428804397583 94.41827392578125 244.552354097366333 94.41827392578125 252.530472993851618"></polygon>
        </g>
      </g>
    </g>
    <g>
      <text transform="translate(950.633804321289062 488.237733125686646)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Open source</tspan></text>
      <rect x="930.382780126026773" y="476.146233332678094" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
    </g>
  </g>
</svg>

## Run the application

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/mm_sample_apps_prerequisites.html).
2. Input `<avc_flac_file>.mp4`,
                        `<hevc_flac_file>.mp4`,
                        `<avc_mp3_file>.mp4`,
                        `<hevc_mp3_file>.mp4` video files on the target
                    device.
3. In the terminal of the target device, run the use
                        case:

        gst-audio-video-playback -v 1 -a 1 -i /etc/media/<filename>.mp4Copy to clipboard

The following table provides a description of the command-line
                            parameters:    | Command-line parameter | Description |
    | --- | --- |
    | `-v` | Specifies the video codec.<ul class="ul" id="gst-audio-video-playback__ul_r42_qpg_4bc"><br>                                            <li class="li"><code class="ph codeph">1</code> = AVC (H.264)</li><br><br>                                            <li class="li"><code class="ph codeph">2</code> = HEVC (H.265)</li><br><br>                                        </ul> |
    | `-a` | Specifies the audio codec.<ul class="ul" id="gst-audio-video-playback__ul_gl3_spg_4bc"><br>                                            <li class="li"><code class="ph codeph">1</code> = FLAC</li><br><br>                                            <li class="li"><code class="ph codeph">2</code> = MP3</li><br><br>                                        </ul> |
    | `-i` | Specifies the absolute path to the MP4 input<br>                                        file. |

For example, run the commands in the following list for different
                        audio and video formats:
    - AVC video with FLAC
                                audio:

            gst-audio-video-playback -v 1 -a 1 -i /etc/media/<filename>.mp4 Copy to clipboard
    - AVC video with MP3
                                audio:

            gst-audio-video-playback -v 1 -a 2 -i /etc/media/<filename>.mp4Copy to clipboard
    - HEVC video with FLAC
                                audio:

            gst-audio-video-playback -v 2 -a 1 -i /etc/media/<filename>.mp4Copy to clipboard
    - HEVC video with MP3
                                audio:

            gst-audio-video-playback -v 2 -a 2 -i /etc/media/<filename>.mp4Copy to clipboard
4. To stop the use case, use CTRL +
                    C.
5. In the terminal of the target device, run the following command in the SSH shell
                    to display the available help
                    options:

        gst-audio-video-playback --helpCopy to clipboard

## Expected output

- The AVC/HEVC video is displayed on the screen.
- The audio plays through the device speaker.

Figure : Expected output for gst-audio-video-playback application
                
                ![](data:image/png;base64,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)

## Pipeline flow

The following table lists the plugins used to run the audio-video playback
                    pipeline:| Plugin | Description |
| --- | --- |
| filesrc | Reads the video data. |
| qtdemux | Demultiplexes the video data into separate audio and video<br>                                streams. |
| h264parse | Parses the H.264 video stream. |
| h265parse | Parses the H.265 video stream. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h264dec.html) | Decodes the H.264 video streams. |
| [v4l2h265dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h265dec.html) | Decodes the H.265 video stream. |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | Displays the video stream on Wayland display. |
| flacparse or mpegaudioparse | Parses the audio stream. |
| flacdec or mpg123audiodec | Decodes the audio stream. |
| [pulsesink](https://docs.qualcomm.com/doc/80-70022-50/topic/pulsesink.html) | Allows playback of the audio stream. |

## Related information

[Audio-video use cases](https://docs.qualcomm.com/doc/80-70022-50/topic/audio-video-use-cases.html)

**Parent Topic:** [Run sample applications for video and audio](https://docs.qualcomm.com/doc/80-70022-50/topic/audio-sample-applications.html)

Last Published: Feb 20, 2026

[Previous Topic
Multi format decode](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-videocodec-concurrent-playback.md) [Next Topic
Video transcoding](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/gst-video-transcode-example.md)