Updated: October 28, 2024 |
The rest of the buildfile lists the OS image contents; that is, all executables, shared libraries, and data files included in the OS image.
# Executables [data=c]In the remainder of this topic, we mention the different types of OS image content and provide the lines that add the necessary files.
########################################################################### ## PPS & other ########################################################################### pps /lib/libmtouch-calib.so.1=libmtouch-calib.so.1 ########################################################################### ## AndroidAuto support ########################################################################### /usr/lib/libprotobuf-lite.so.1=libprotobuf-lite.so.1 [type=link] /usr/lib/libprotobuf-lite.so=/usr/lib/libprotobuf-lite.so.1 /usr/lib/libaoa.so.1=libaoa.so.1 [type=link] /usr/lib/libaoa.so=/usr/lib/libaoa.so.1 /usr/lib/libautoreceiver_qnx.so.1=libautoreceiver_qnx.so.1 [type=link] /usr/lib/libautoreceiver_qnx.so=/usr/lib/libautoreceiver_qnx.so.1 /usr/bin/androidauto=androidauto ########################################################################### ## curl support ########################################################################### /usr/lib/libcurl_support.so.1=libcurl_support.so.1 [type=link] /usr/lib/libcurl_support.so=/usr/lib/libcurl_support.so.1 # uncomment to include libcurl /usr/lib/libcurl.so.2=libcurl.so.2 [type=link] /usr/lib/libcurl.so=/usr/lib/libcurl.so.2
Next, we add the shared objects that support the services used by the multimedia framework (MMF). This framework is used by the OpenMAX AL media engine and the mm-renderer service for playback, but it's not accessed directly by client applications. The shared objects implement codecs, file containers, streamers, media data writers, individual media features, and audio formats.
########################################################################### ## MMF ########################################################################### # Encode Codec /lib/dll/mmedia/oc_fdkaac_encoder.so=mmedia/oc_fdkaac_encoder.so /lib/dll/mmedia/wave_encoder.so=mmedia/wave_encoder.so # Encode Container /lib/dll/mmedia/ts_writer.so=mmedia/ts_writer.so /lib/dll/mmedia/mp4_writer.so=mmedia/mp4_writer.so /lib/dll/mmedia/rawfile_writer.so=mmedia/rawfile_writer.so /lib/dll/mmedia/wavfile_writer.so=mmedia/wavfile_writer.so # Input Support /lib/dll/mmedia/audio_streamer.so=mmedia/audio_streamer.so /lib/dll/mmedia/fildes_streamer.so=mmedia/fildes_streamer.so /lib/dll/mmedia/rtp_reader.so=mmedia/rtp_reader.so /lib/dll/mmedia/rtsp_reader.so=mmedia/rtsp_reader.so /lib/librimrtsp.so.1=librimrtsp.so.1 [type=link] /lib/librimrtsp.so=/lib/librimrtsp.so.1 # Output Support /lib/dll/mmedia/audio_writer.so=mmedia/audio_writer.so /lib/dll/mmedia/audio_eventer.so=mmedia/audio_eventer.so /lib/dll/mmedia/rtp_writer.so=mmedia/rtp_writer.so /lib/librimrtp.so.1=librimrtp.so.1 [type=link] /lib/librimrtp.so=/lib/librimrtp.so.1 /lib/dll/mmedia/screen_writer.so=mmedia/screen_writer.so # Playback Codec /lib/dll/mmedia/oc_fdkaac_decoder.so=mmedia/oc_fdkaac_decoder.so /lib/dll/mmedia/xing_mpega_decoder.so=mmedia/xing_mpega_decoder.so /lib/dll/mmedia/wav_decoder.so=mmedia/wav_decoder.so # Playback Container /lib/dll/mmedia/aac_parser.so=mmedia/aac_parser.so /lib/dll/mmedia/avi_parser.so=mmedia/avi_parser.so /lib/dll/mmedia/mkv_parser.so=mmedia/mkv_parser.so /lib/dll/mmedia/mp2ts_parser.so=mmedia/mp2ts_parser.so /lib/dll/mmedia/mp4_reader.so=mmedia/mp4_reader.so /lib/dll/mmedia/mpega_parser.so=mmedia/mpega_parser.so /lib/dll/mmedia/wav_parser.so=mmedia/wav_parser.so # FDK AAC support libraries /usr/lib/libopencore_fdk_aac.so.1=libopencore_fdk_aac.so.1 [type=link] /usr/lib/libopencore_fdk_aac.so=/usr/lib/libopencore_fdk_aac.so.1 # MMF Core /lib/dll/mmedia/queue_filter.so=mmedia/queue_filter.so /lib/dll/mmedia/external_clock.so=mmedia/external_clock.so /lib/dll/mmedia/stream_reader.so=mmedia/stream_reader.so /lib/dll/mmedia/pcm_converter.so=mmedia/pcm_converter.so /usr/lib/liblogging.so.1=liblogging.so.1 [type=link] /usr/lib/liblogging.so=/usr/lib/liblogging.so.1 /usr/lib/libmmedia.so.1=libmmedia.so.1 [type=link] /usr/lib/libmmedia.so=/usr/lib/libmmedia.so.1 /usr/lib/libmmfilter.so.1=libmmfilter.so.1 [type=link] /usr/lib/libmmfilter.so=/usr/lib/libmmfilter.so.1 /usr/lib/libmmresarb.so.1=libmmresarb.so.1 [type=link] /usr/lib/libmmresarb.so=libmmresarb.so.1
/lib/librimrtsp.so.1=librimrtsp.so.1 [type=link] /lib/librimrtsp.so=/lib/librimrtsp.so.1
This adds the librimrtsp.so.1 file to the image, at the target path of /lib/librimrtsp.so.1, and creates a link that refers to the numbered library version and has the same name but ending simply in .so.
########################################################################### ## OpenMAX AL ########################################################################### /usr/lib/libOpenMAXAL.so.1=libOpenMAXAL.so.1 [type=link] /usr/lib/libOpenMAXAL.so=/usr/lib/libOpenMAXAL.so.1 ########################################################################### ## OpenMAX AL command-line utilities ########################################################################### /usr/bin/audio-decode=audio-decode /usr/bin/audio-encode=audio-encode /usr/bin/video-decode=video-decode /usr/bin/video-encode=video-encode /usr/bin/omxalplay=omxalplay /usr/bin/omxal-showmetadata=omxal-showmetadata ########################################################################### ## mm-stream support. ########################################################################### /usr/lib/libmmstream.so.1=libmmstream.so.1 [type=link] /usr/lib/libmmstream.so=/usr/lib/libmmstream.so.1 /usr/lib/mm-stream-input-audio.so=mm-stream-input-audio.so /usr/lib/mm-stream-input-camera.so=mm-stream-input-camera.so /usr/lib/mm-stream-input-file.so=mm-stream-input-file.so /usr/lib/mm-stream-input-screen.so=mm-stream-input-screen.so /usr/lib/mm-stream-output-rtp.so=mm-stream-output-rtp.so /usr/lib/mm-stream-processor-openmaxal.so=mm-stream-processor-openmaxal.so /usr/lib/mm-stream-server-rtp.so=mm-stream-server-rtp.so /usr/lib/mm-stream-server-rtsp.so=mm-stream-server-rtsp.so /usr/lib/mm-stream-server-rtsp.so=mm-stream-server-rtsp.so /usr/bin/mm-stream=mm-stream /usr/bin/mm-stream-client=mm-stream-client ########################################################################### ## libjsoncpp ########################################################################### /usr/lib/libjsoncpp.so.1.8.4=libjsoncpp.so.1.8.4 [type=link] /usr/lib/libjsoncpp.so.19=/usr/lib/libjsoncpp.so.1.8.4 [type=link] /usr/lib/libjsoncpp.so=/usr/lib/libjsoncpp.so.1.8.4 ########################################################################### ## mm-renderer ########################################################################### /lib/dll/mmr-mmf-routing.so=mmr-mmf-routing.so /lib/dll/mmr-mmfrip-routing.so=mmr-mmfrip-routing.so /lib/dll/mmr-track-engine.so=mmr-track-engine.so /usr/lib/libmmrndclient.so.1=libmmrndclient.so.1 [type=link] /usr/lib/libmmrndclient.so=/usr/lib/libmmrndclient.so.1 /usr/lib/libmmrndcore.so.1=libmmrndcore.so.1 [type=link] /usr/lib/libmmrndcore.so=/usr/lib/libmmrndcore.so.1 /usr/lib/libmmro-mmf.so.1=libmmro-mmf.so.1 [type=link] /usr/lib/libmmro-mmf.so=/usr/lib/libmmro-mmf.so.1 /usr/sbin/mm-renderer=mm-renderer /etc/mm/mm-renderer.conf=../../etc/mm/mm-renderer.conf /usr/bin/mmrplay=mmrplay /usr/bin/mmcli=mmcli /lib/dll/mmrenderer_cli.so=mmrenderer_cli.so ########################################################################### ## resarb ########################################################################### /bin/resarb=resarb /usr/lib/libresarb.so.1=libresarb.so.1 [type=link] /usr/lib/libresarb.so=/usr/lib/libresarb.so.1
For some hardware platforms, this release supports video encoding but not decoding or playback. You can add the necessary video encoder and supporting libraries to your image.
Adding the section below enables H.264 video encoding on the Renesas R-Car V3H Videobox miniPLUS.
/lib/dll/mmedia/rcarv3_video_encoder.so=rcarv3_video_encoder.so # NOTE: These are here to work around the fact that the customer gets these libraries # from Renesas, not QNX Software Center: libRIVPENCLIB.so libRIVPENCUDFDRV.so libRIVPENCUDF.so
There are video encoder and decoder libraries, and sometimes other supporting libraries, for enabling playback on various hardware platforms. You can add any of the sections below that apply to your target platforms to your own buildfile.
/lib/dll/mmedia/yami_video_decoder.so=yami_video_decoder.so /lib/dll/mmedia/yami_video_encoder.so=yami_video_encoder.so /usr/lib/libyami.so.1=libyami.so.1 [type=link] /usr/lib/libyami.so=/usr/lib/libyami.so.1
/lib/dll/mmedia/imx8_video_decoder.so=imx8_video_decoder.so /lib/dll/mmedia/omxil_video_encoder-imx8.so=omxil_video_encoder-imx8.so /lib/dll/omxil/omxil_comp_imx8_dec.so=omxil_comp_imx8_dec.so /lib/dll/omxil/omxil_comp_imx8_enc.so=omxil_comp_imx8_enc.so # NOTE: This here to work around the fact that the customer gets this library # from NXP, not QNX Software Center: libvpu-cli-mx8.so.1 # NOTE: These are here to work around the fact that the customer gets this firmware # from NXP, not QNX Software Center: /lib/firmware/iMX8/vpu_fw_imx8_dec.bin /lib/firmware/iMX8/vpu_fw_imx8_enc.bin # NOTE: These are here to work around the fact that the customer gets these binaries # from NXP, not QNX Software Center: export VCU_DEC_FW_PATH=/lib/firmware/iMX8/vpu_fw_imx8_dec.bin export VCU_ENC_FW_PATH=/lib/firmware/iMX8/vpu_fw_imx8_enc.bin /usr/sbin/vpu-decoder-mx8=vpu-decoder-mx8 /usr/sbin/vpu-encoder-mx8=vpu-encoder-mx8