├── TODO ├── test ├── Makefile.am └── components │ ├── Makefile.am │ ├── common │ ├── Makefile.am │ ├── tsemaphore.h │ ├── user_debug_levels.h │ └── tsemaphore.c │ ├── muxer │ └── Makefile.am │ ├── camera │ └── Makefile.am │ ├── parser │ └── Makefile.am │ ├── jpeg │ ├── Makefile.am │ └── omxjpegdectest.h │ ├── audio_effects │ ├── Makefile.am │ └── omxvolcontroltest.h │ ├── video │ ├── Makefile.am │ ├── omxvideocapturetest.h │ └── omxvideoenctest.h │ ├── components_symbian │ ├── symbianaudiomixer │ │ ├── data │ │ │ └── omxaudiomixertest_reg.rss │ │ ├── sis │ │ │ └── OmxAudioMixerTest.pkg │ │ └── group │ │ │ └── OmxAudioMixerTest.mmp │ ├── symbiancompnameenum │ │ ├── data │ │ │ └── omxcompnameenumtest_reg.rss │ │ ├── sis │ │ │ └── OmxCompNameEnumTest.pkg │ │ ├── src │ │ │ └── omxcompnameenumtest.c │ │ └── group │ │ │ └── OmxCompNameEnumTest.mmp │ └── symbianoutputstream │ │ ├── data │ │ └── omxsymbianoutputstreamtest_reg.rss │ │ ├── sis │ │ └── OmxSymbianOutputStreamTest.pkg │ │ └── group │ │ └── OmxSymbianOutputStreamTest.mmp │ └── audio │ └── Makefile.am ├── m4 ├── Makefile.am ├── ax_set_plugindir.m4 └── as_ac_expand.m4 ├── include ├── OMX_Other.h └── Makefile.am ├── AUTHORS ├── NEWS ├── libomxil-bellagio.pc.in ├── src ├── components │ ├── jpeg │ │ ├── libjpeg-6c │ │ │ ├── jversion.h │ │ │ ├── rdgif.c │ │ │ ├── jconfig.h │ │ │ ├── jcinit.c │ │ │ └── Makefile.am │ │ └── Makefile.am │ ├── camera │ │ └── Makefile.am │ ├── xvideo │ │ └── Makefile.am │ ├── mad │ │ └── Makefile.am │ ├── video_src │ │ └── Makefile.am │ ├── vorbis │ │ └── Makefile.am │ ├── fbdev │ │ └── Makefile.am │ ├── parser3gp │ │ └── Makefile.am │ ├── muxer │ │ └── Makefile.am │ ├── alsa │ │ ├── Makefile.am │ │ └── omx_alsasrc_component.h │ ├── clocksrc │ │ └── Makefile.am │ ├── audio_effects │ │ ├── Makefile.am │ │ └── omx_volume_component.h │ ├── filereader │ │ ├── Makefile.am │ │ └── library_entry_point.c │ ├── Makefile.am │ ├── ffmpeg │ │ └── Makefile.am │ └── components_symbian │ │ ├── inc │ │ ├── BellagioOpenMaxComponentUid.hrh │ │ └── BellagioOpenMaxComponent.h │ │ ├── volume │ │ ├── inc │ │ │ ├── BellagioOpenMaxVolumeImplUid.hrh │ │ │ └── BellagioOpenMaxVolume.h │ │ ├── sis │ │ │ └── BellagioOpenMaxVolume.pkg │ │ ├── data │ │ │ └── F01F0055.rss │ │ ├── src │ │ │ ├── BellagioOpenMaxVolume.cpp │ │ │ └── BellagioOpenMaxVolumeImplFactory.cpp │ │ └── group │ │ │ ├── BellagioOpenMaxVolume.mmp.bak │ │ │ └── BellagioOpenMaxVolume.mmp │ │ ├── audiomixer │ │ ├── inc │ │ │ ├── BellagioOpenMaxAudioMixerImplUid.hrh │ │ │ └── BellagioOpenMaxAudioMixer.h │ │ ├── sis │ │ │ └── BellagioOpenMaxAudioMixer.pkg │ │ ├── data │ │ │ └── F01F0015.rss │ │ ├── src │ │ │ ├── BellagioOpenMaxAudioMixer.cpp │ │ │ └── BellagioOpenMaxAudioMixerImplFactory.cpp │ │ └── group │ │ │ └── BellagioOpenMaxAudioMixer.mmp │ │ ├── outputstream │ │ ├── inc │ │ │ ├── BellagioOpenMaxOutputStreamImplUid.hrh │ │ │ └── BellagioOpenMaxOutputStream.h │ │ ├── sis │ │ │ └── BellagioOpenMaxOutputStream.pkg │ │ ├── src │ │ │ ├── omx_symbian_output_stream_wrapper.h │ │ │ ├── omx_symbian_output_stream.h │ │ │ ├── omx_symbian_output_stream_wrapper.cpp │ │ │ ├── BellagioOpenMaxOutputStream.cpp │ │ │ └── BellagioOpenMaxOutputStreamImplFactory.cpp │ │ ├── data │ │ │ └── F01F0013.rss │ │ └── group │ │ │ └── BellagioOpenMaxOutputStream.mmp │ │ └── src │ │ └── BellagioOpenMaxComponent.cpp ├── base │ ├── Makefile.am │ ├── omx_base_sink.h │ ├── omx_classmagic.h │ ├── omx_base_audio_port.h │ ├── omx_base_image_port.h │ ├── omx_base_video_port.h │ └── omx_base_source.h ├── loaders │ └── loaders_symbian │ │ ├── inc │ │ ├── BellagioOpenMaxLoaderUid.hrh │ │ └── BellagioOpenMaxLoader.h │ │ ├── symbianecomloader │ │ ├── sis │ │ │ └── BellagioOpenMaxSymbianLoader.pkg │ │ ├── inc │ │ │ ├── BellagioOpenMaxSymbianLoaderImplUid.hrh │ │ │ ├── nrc_symbian_component_loader.h │ │ │ └── BellagioOpenMaxSymbianLoader.h │ │ ├── data │ │ │ └── F01F0033.rss │ │ ├── src │ │ │ └── BellagioOpenMaxSymbianLoaderImplFactory.cpp │ │ └── group │ │ │ └── BellagioOpenMaxSymbianLoader.mmp │ │ └── src │ │ ├── BellagioOpenMaxLoader.cpp │ │ └── omx_create_loaders_symbian.cpp ├── omx_create_loaders.h ├── common.h ├── content_pipe_file.h ├── Makefile.am ├── content_pipe_inet.h ├── omxcore.h ├── tsemaphore.h ├── omx_comp_debug_levels.h ├── queue.h └── tsemaphore.c ├── doc ├── footer_SF.html.in ├── omxregister-bellagio.1.in └── Makefile.am ├── sis ├── libomxil.pkg └── createandsign.bat ├── group ├── bld.inf ├── libomxil.mmp └── readme.txt ├── ChangeLog └── libomxil-bellagio.spec.in /TODO: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /test/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = components 2 | -------------------------------------------------------------------------------- /m4/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = acx_pthread.m4 ax_set_plugindir.m4 as_ac_expand.m4 2 | -------------------------------------------------------------------------------- /include/OMX_Other.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/felipec/libomxil-bellagio/HEAD/include/OMX_Other.h -------------------------------------------------------------------------------- /test/components/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = common audio video audio_effects parser camera jpeg muxer 2 | -------------------------------------------------------------------------------- /test/components/common/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libtestcommon.la 2 | 3 | libtestcommon_la_SOURCES = tsemaphore.c tsemaphore.h user_debug_levels.h 4 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | BHATTACHARYYA Sourya 2 | CONTRERAS Felipe 3 | FOUET Benoit 4 | MATHUR Mona 5 | MELPIGNANO Diego 6 | NIEMIMUUKKO Ukri 7 | SEN Pankaj 8 | SIORPAES David 9 | URLINI Giulio 10 | 11 | -------------------------------------------------------------------------------- /NEWS: -------------------------------------------------------------------------------- 1 | The OpenMAX IL Bellagio package ver. 0.9.1 has been released. 2 | The main additions to this delivery are: 3 | 4 | - A new Jpeg encoder decoder 5 | - Added omx_base_image_port base class 6 | 7 | -------------------------------------------------------------------------------- /libomxil-bellagio.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@prefix@ 2 | exec_prefix=@exec_prefix@ 3 | libdir=@libdir@ 4 | includedir=@includedir@ 5 | toolsdir=@bindir@ 6 | pluginsdir=@plugindir@ 7 | 8 | Name: libomxil 9 | Description: OpenMAX Integration Layer library 10 | Version: @VERSION@ 11 | Libs: -L${libdir} -lomxil-bellagio 12 | Cflags: -I${includedir} -I${includedir}/bellagio 13 | 14 | -------------------------------------------------------------------------------- /include/Makefile.am: -------------------------------------------------------------------------------- 1 | include_HEADERS = OMX_Audio.h \ 2 | OMX_Core.h \ 3 | OMX_Image.h \ 4 | OMX_IVCommon.h \ 5 | OMX_Types.h \ 6 | OMX_Component.h \ 7 | OMX_Index.h \ 8 | OMX_Other.h \ 9 | OMX_Video.h \ 10 | OMX_ContentPipe.h 11 | -------------------------------------------------------------------------------- /test/components/muxer/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxmuxtest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxmuxtest_SOURCES = omxmuxtest.c omxmuxtest.h 9 | omxmuxtest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxmuxtest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | -------------------------------------------------------------------------------- /src/components/jpeg/libjpeg-6c/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * Copyright (C) 1991-1998, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains software version identification. 9 | */ 10 | 11 | 12 | #define JVERSION "6b 27-Mar-1998" 13 | 14 | #define JCOPYRIGHT "Copyright (C) 1998, Thomas G. Lane" 15 | -------------------------------------------------------------------------------- /test/components/camera/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxcameratest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxcameratest_SOURCES = omxcameratest.c omxcameratest.h 9 | omxcameratest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxcameratest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | -------------------------------------------------------------------------------- /test/components/parser/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxparsertest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxparsertest_SOURCES = omxparsertest.c omxparsertest.h 9 | omxparsertest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxparsertest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | -------------------------------------------------------------------------------- /doc/footer_SF.html.in: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Generated for @PACKAGE_NAME@ rel. @PACKAGE_VERSION@ by  4 | 5 | doxygen 1.5.1 6 |
7 | SourceForge.net Logo 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/components/camera/Makefile.am: -------------------------------------------------------------------------------- 1 | omxcameradir = $(plugindir) 2 | 3 | omxcamera_LTLIBRARIES = libomxcamera.la 4 | 5 | libomxcamera_la_SOURCES = omx_camera_source_component.c omx_camera_source_component.h \ 6 | library_entry_point.c 7 | 8 | libomxcamera_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la 9 | libomxcamera_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxcamera_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base 13 | -------------------------------------------------------------------------------- /src/components/xvideo/Makefile.am: -------------------------------------------------------------------------------- 1 | omxxvideodir = $(plugindir) 2 | 3 | omxxvideo_LTLIBRARIES = libomxxvideo.la 4 | 5 | libomxxvideo_la_SOURCES = omx_xvideo_sink_component.c omx_xvideo_sink_component.h \ 6 | library_entry_point.c 7 | 8 | libomxxvideo_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la 9 | libomxxvideo_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(X11_LIBS) 10 | libomxxvideo_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base 13 | -------------------------------------------------------------------------------- /src/components/mad/Makefile.am: -------------------------------------------------------------------------------- 1 | omxmaddir = $(plugindir) 2 | 3 | omxmad_LTLIBRARIES = libomxmad.la 4 | 5 | libomxmad_la_SOURCES = omx_maddec_component.c omx_maddec_component.h \ 6 | library_entry_point.c 7 | 8 | libomxmad_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(MAD_LIBS) 9 | libomxmad_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxmad_la_CFLAGS = $(MAD_CFLAGS) \ 11 | -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base 14 | -------------------------------------------------------------------------------- /src/components/video_src/Makefile.am: -------------------------------------------------------------------------------- 1 | omxvideosrcdir = $(plugindir) 2 | 3 | omxvideosrc_LTLIBRARIES = libomxvideosrc.la 4 | 5 | libomxvideosrc_la_SOURCES = omx_videosrc_component.c omx_videosrc_component.h \ 6 | library_entry_point.c 7 | 8 | libomxvideosrc_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la 9 | libomxvideosrc_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxvideosrc_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base 13 | -------------------------------------------------------------------------------- /src/components/vorbis/Makefile.am: -------------------------------------------------------------------------------- 1 | omxvorbisdir = $(plugindir) 2 | 3 | omxvorbis_LTLIBRARIES = libomxvorbis.la 4 | 5 | libomxvorbis_la_SOURCES = omx_vorbisdec_component.c omx_vorbisdec_component.h \ 6 | library_entry_point.c 7 | 8 | libomxvorbis_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(VORBIS_LIBS) 9 | libomxvorbis_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxvorbis_la_CFLAGS = $(VORBIS_CFLAGS) \ 11 | -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base 14 | -------------------------------------------------------------------------------- /src/components/fbdev/Makefile.am: -------------------------------------------------------------------------------- 1 | omxfbdevdir = $(plugindir) 2 | 3 | omxfbdev_LTLIBRARIES = libomxfbdev.la 4 | 5 | libomxfbdev_la_SOURCES = omx_fbdev_sink_component.c omx_fbdev_sink_component.h \ 6 | omx_video_scheduler_component.c omx_video_scheduler_component.h \ 7 | library_entry_point.c 8 | 9 | libomxfbdev_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la 10 | libomxfbdev_la_LDFLAGS = $(PLUGIN_LDFLAGS) 11 | libomxfbdev_la_CFLAGS = -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base 14 | -------------------------------------------------------------------------------- /src/components/parser3gp/Makefile.am: -------------------------------------------------------------------------------- 1 | omxparser3gpdir = $(plugindir) 2 | 3 | omxparser3gp_LTLIBRARIES = libomxparser3gp.la 4 | 5 | libomxparser3gp_la_SOURCES = omx_parser3gp_component.c omx_parser3gp_component.h \ 6 | library_entry_point.c 7 | 8 | libomxparser3gp_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(FFMPEG_LIBS) 9 | libomxparser3gp_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxparser3gp_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base \ 13 | $(FFMPEG_CFLAGS) 14 | -------------------------------------------------------------------------------- /src/components/muxer/Makefile.am: -------------------------------------------------------------------------------- 1 | omxmuxdir = $(plugindir) 2 | 3 | omxmux_LTLIBRARIES = libomxmux.la 4 | 5 | libomxmux_la_SOURCES = omx_mux_component.c omx_mux_component.h \ 6 | library_entry_point.c 7 | 8 | libomxmux_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(FFMPEG_LIBS) 9 | libomxmux_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxmux_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base \ 13 | $(FFMPEG_CFLAGS) 14 | -------------------------------------------------------------------------------- /m4/ax_set_plugindir.m4: -------------------------------------------------------------------------------- 1 | dnl AX_SET_PLUGINDIR 2 | 3 | dnl AC_DEFINE PLUGINDIR to the full location where components will be installed 4 | dnl AC_SUBST plugindir, to be used in Makefile.am's 5 | 6 | AC_DEFUN([AX_SET_PLUGINDIR], 7 | [ 8 | dnl define location of plugin directory 9 | AS_AC_EXPAND(PLUGINDIR, ${libdir}/bellagio) 10 | AC_DEFINE_UNQUOTED(PLUGINDIR, "$PLUGINDIR", 11 | [directory where plugins are located]) 12 | AC_MSG_NOTICE([Using $PLUGINDIR as the components install location]) 13 | 14 | dnl plugin directory configure-time variable 15 | AC_SUBST([plugindir], '[${libdir}/bellagio]') 16 | ]) 17 | -------------------------------------------------------------------------------- /src/components/alsa/Makefile.am: -------------------------------------------------------------------------------- 1 | omxalsadir = $(plugindir) 2 | 3 | omxalsa_LTLIBRARIES = libomxalsa.la 4 | 5 | libomxalsa_la_SOURCES = omx_alsasink_component.c omx_alsasink_component.h \ 6 | omx_alsasrc_component.c omx_alsasrc_component.h \ 7 | library_entry_point.c 8 | 9 | libomxalsa_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(ALSA_LIBS) 10 | libomxalsa_la_LDFLAGS = $(PLUGIN_LDFLAGS) 11 | libomxalsa_la_CFLAGS = -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base \ 14 | $(ALSA_CFLAGS) 15 | -------------------------------------------------------------------------------- /src/components/clocksrc/Makefile.am: -------------------------------------------------------------------------------- 1 | omxclocksrcdir = $(plugindir) 2 | 3 | omxclocksrc_LTLIBRARIES = libomxclocksrc.la 4 | 5 | libomxclocksrc_la_SOURCES = omx_clocksrc_component.c omx_clocksrc_component.h \ 6 | library_entry_point.c 7 | 8 | libomxclocksrc_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(FFMPEG_LIBS) 9 | libomxclocksrc_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxclocksrc_la_CFLAGS = $(FFMPEG_CFLAGS) \ 11 | -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base 14 | -------------------------------------------------------------------------------- /src/components/audio_effects/Makefile.am: -------------------------------------------------------------------------------- 1 | omxaudio_effectsdir = $(plugindir) 2 | 3 | omxaudio_effects_LTLIBRARIES = libomxaudio_effects.la 4 | 5 | libomxaudio_effects_la_SOURCES = omx_volume_component.c omx_volume_component.h \ 6 | omx_audiomixer_component.c omx_audiomixer_component.h \ 7 | library_entry_point.c 8 | 9 | libomxaudio_effects_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la 10 | libomxaudio_effects_la_LDFLAGS = $(PLUGIN_LDFLAGS) 11 | libomxaudio_effects_la_CFLAGS = -I$(top_srcdir)/include \ 12 | -I$(top_srcdir)/src \ 13 | -I$(top_srcdir)/src/base 14 | -------------------------------------------------------------------------------- /src/components/filereader/Makefile.am: -------------------------------------------------------------------------------- 1 | omxfilereaderdir = $(plugindir) 2 | 3 | omxfilereader_LTLIBRARIES = libomxfilereader.la 4 | 5 | libomxfilereader_la_SOURCES = omx_filereader_component.c omx_filereader_component.h \ 6 | library_entry_point.c 7 | 8 | libomxfilereader_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(FFMPEG_LIBS) 9 | libomxfilereader_la_LDFLAGS = $(PLUGIN_LDFLAGS) 10 | libomxfilereader_la_CFLAGS = -I$(top_srcdir)/include \ 11 | -I$(top_srcdir)/src \ 12 | -I$(top_srcdir)/src/base \ 13 | $(FFMPEG_CFLAGS) 14 | -------------------------------------------------------------------------------- /test/components/jpeg/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxjpegdectest omxjpegenctest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxjpegdectest_SOURCES = omxjpegdectest.c omxjpegdectest.h 9 | omxjpegdectest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxjpegdectest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | 12 | omxjpegenctest_SOURCES = omxjpegenctest.c omxjpegenctest.h 13 | omxjpegenctest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 14 | omxjpegenctest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 15 | -------------------------------------------------------------------------------- /test/components/audio_effects/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxvolcontroltest omxaudiomixertest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la -lpthread 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxvolcontroltest_SOURCES = omxvolcontroltest.c omxvolcontroltest.h 9 | omxvolcontroltest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxvolcontroltest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | 12 | omxaudiomixertest_SOURCES = omxaudiomixertest.c omxaudiomixertest.h 13 | omxaudiomixertest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 14 | omxaudiomixertest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 15 | -------------------------------------------------------------------------------- /src/base/Makefile.am: -------------------------------------------------------------------------------- 1 | noinst_LTLIBRARIES = libomxbase.la 2 | 3 | libomxbase_la_SOURCES = omx_base_component.c omx_base_component.h \ 4 | omx_base_port.c omx_base_port.h \ 5 | omx_base_filter.c omx_base_filter.h \ 6 | omx_base_sink.c omx_base_sink.h \ 7 | omx_base_source.c omx_base_source.h \ 8 | omx_base_audio_port.c omx_base_audio_port.h \ 9 | omx_base_video_port.c omx_base_video_port.h \ 10 | omx_base_image_port.c omx_base_image_port.h \ 11 | omx_base_clock_port.c omx_base_clock_port.h \ 12 | omx_classmagic.h 13 | 14 | libomxbase_la_CFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src 15 | -------------------------------------------------------------------------------- /src/components/jpeg/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = libjpeg-6c 2 | 3 | omximagejpegdir = $(plugindir) 4 | 5 | omximagejpeg_LTLIBRARIES = libomximagejpeg.la 6 | 7 | libomximagejpeg_la_SOURCES = omx_jpegdec_component.c \ 8 | omx_jpegenc_component.c \ 9 | library_entry_point.c \ 10 | wrbmp.c \ 11 | rdbmp.c \ 12 | omx_jpegdec_component.h \ 13 | omx_jpegenc_component.h 14 | 15 | libomximagejpeg_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la libjpeg-6c/libjpeg.la 16 | libomximagejpeg_la_LDFLAGS = $(PLUGIN_LDFLAGS) 17 | libomximagejpeg_la_CFLAGS = -I$(top_srcdir)/include \ 18 | -I$(top_srcdir)/src \ 19 | -I$(top_srcdir)/src/base \ 20 | -I$(srcdir)/libjpeg-6c 21 | -------------------------------------------------------------------------------- /src/components/Makefile.am: -------------------------------------------------------------------------------- 1 | if WITH_FFMPEGCOMPONENTS 2 | MAYBE_FFMPEG = ffmpeg 3 | MAYBE_FILEREADER = filereader 4 | MAYBE_PARSER_3GP = parser3gp 5 | MAYBE_MUXER = muxer 6 | endif 7 | 8 | if WITH_AUDIOEFFECTS 9 | MAYBE_AUDIO_EFFECTS = audio_effects 10 | endif 11 | 12 | if WITH_MADCOMPONENTS 13 | MAYBE_MAD = mad 14 | endif 15 | 16 | if WITH_ALSA 17 | MAYBE_ALSA = alsa 18 | endif 19 | 20 | if WITH_VORBISCOMPONENTS 21 | MAYBE_VORBIS = vorbis 22 | endif 23 | 24 | if WITH_FBDEV_VIDEOSINK 25 | MAYBE_FBDEV = fbdev 26 | endif 27 | 28 | if WITH_VIDEOSRC 29 | MAYBE_VIDEOSRC = video_src 30 | endif 31 | 32 | if WITH_V4L2_VIDEOSOURCE 33 | MAYBE_CAMERA = camera 34 | endif 35 | 36 | if WITH_CLOCKSRC 37 | MAYBE_CLOCKSRC = clocksrc 38 | endif 39 | 40 | if WITH_JPEG 41 | MAYBE_JPEG = jpeg 42 | endif 43 | 44 | if WITH_XVIDEOSINK 45 | MAYBE_XVIDEO = xvideo 46 | endif 47 | 48 | SUBDIRS = $(MAYBE_FFMPEG) $(MAYBE_FILEREADER) $(MAYBE_AUDIO_EFFECTS) $(MAYBE_MAD) $(MAYBE_ALSA) $(MAYBE_VORBIS) $(MAYBE_FBDEV) $(MAYBE_VIDEOSRC) $(MAYBE_PARSER_3GP) $(MAYBE_CAMERA) $(MAYBE_CLOCKSRC) $(MAYBE_JPEG) $(MAYBE_MUXER) $(MAYBE_XVIDEO) 49 | -------------------------------------------------------------------------------- /test/components/video/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxvideodectest omxvideocapturetest omxvideocapnplay omxvideoenctest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxvideodectest_SOURCES = omxvideodectest.c omxvideodectest.h 9 | omxvideodectest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxvideodectest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | 12 | omxvideocapnplay_SOURCES = omxvideocapnplay.c omxvideocapnplay.h 13 | omxvideocapnplay_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 14 | omxvideocapnplay_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 15 | 16 | omxvideoenctest_SOURCES = omxvideoenctest.c omxvideoenctest.h 17 | omxvideoenctest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 18 | omxvideoenctest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 19 | 20 | omxvideocapturetest_SOURCES = omxvideocapturetest.c omxvideocapturetest.h 21 | omxvideocapturetest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 22 | omxvideocapturetest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 23 | 24 | -------------------------------------------------------------------------------- /src/components/ffmpeg/Makefile.am: -------------------------------------------------------------------------------- 1 | omxffmpegdir = $(plugindir) 2 | 3 | omxffmpeg_LTLIBRARIES = libomxffmpeg.la 4 | 5 | libomxffmpeg_la_SOURCES = omx_audiodec_component.c omx_audiodec_component.h \ 6 | omx_videodec_component.c omx_videodec_component.h \ 7 | omx_videoenc_component.c omx_videoenc_component.h \ 8 | omx_audioenc_component.c omx_audioenc_component.h \ 9 | omx_ffmpeg_colorconv_component.c omx_ffmpeg_colorconv_component.h \ 10 | library_entry_point.c 11 | 12 | if WITH_AMR_SUPPORT 13 | libomxffmpeg_la_SOURCES += omx_amr_audiodec_component.c omx_amr_audiodec_component.h \ 14 | omx_amr_audioenc_component.c omx_amr_audioenc_component.h 15 | endif 16 | 17 | libomxffmpeg_la_LIBADD = $(top_builddir)/src/libomxil-bellagio.la $(FFMPEG_LIBS) 18 | libomxffmpeg_la_LDFLAGS = $(PLUGIN_LDFLAGS) 19 | libomxffmpeg_la_CFLAGS = -I$(top_builddir) \ 20 | -I$(top_srcdir)/include \ 21 | -I$(top_srcdir)/src \ 22 | -I$(top_srcdir)/src/base \ 23 | $(FFMPEG_CFLAGS) 24 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianaudiomixer/data/omxaudiomixertest_reg.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | #include 20 | 21 | UID2 KUidAppRegistrationResourceFile 22 | UID3 0xF010019F 23 | 24 | RESOURCE APP_REGISTRATION_INFO 25 | { 26 | app_file="omxaudiomixertest"; 27 | embeddability=KAppNotEmbeddable; 28 | newfile=KAppDoesNotSupportNewFile; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbiancompnameenum/data/omxcompnameenumtest_reg.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | #include 20 | 21 | UID2 KUidAppRegistrationResourceFile 22 | UID3 0xF010020F 23 | 24 | RESOURCE APP_REGISTRATION_INFO 25 | { 26 | app_file="omxcompnameenumtest"; 27 | embeddability=KAppNotEmbeddable; 28 | newfile=KAppDoesNotSupportNewFile; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianoutputstream/data/omxsymbianoutputstreamtest_reg.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | #include 20 | 21 | UID2 KUidAppRegistrationResourceFile 22 | UID3 0xF010018F 23 | 24 | RESOURCE APP_REGISTRATION_INFO 25 | { 26 | app_file="omxsymbianoutputstreamtest"; 27 | embeddability=KAppNotEmbeddable; 28 | newfile=KAppDoesNotSupportNewFile; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/inc/BellagioOpenMaxLoaderUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/BellagioOpenMaxLoaderUid.hrh 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_LOADER_UID_HRH__ 23 | #define __BELLAGIO_OPENMAX_LOADER_UID_HRH__ 24 | 25 | // Interface Implementation UID 26 | #define KUidBellagioOpenMaxLoader 0xF01F0030 // Interface UID for Bellagio OpenMax loaders 27 | 28 | #endif // __BELLAGIO_OPENMAX_LOADER_UID_HRH__ 29 | -------------------------------------------------------------------------------- /m4/as_ac_expand.m4: -------------------------------------------------------------------------------- 1 | dnl as-ac-expand.m4 0.2.0 2 | dnl autostars m4 macro for expanding directories using configure's prefix 3 | dnl thomas@apestaart.org 4 | 5 | dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) 6 | dnl example 7 | dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) 8 | dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local 9 | 10 | AC_DEFUN([AS_AC_EXPAND], 11 | [ 12 | EXP_VAR=[$1] 13 | FROM_VAR=[$2] 14 | 15 | dnl first expand prefix and exec_prefix if necessary 16 | prefix_save=$prefix 17 | exec_prefix_save=$exec_prefix 18 | 19 | dnl if no prefix given, then use /usr/local, the default prefix 20 | if test "x$prefix" = "xNONE"; then 21 | prefix="$ac_default_prefix" 22 | fi 23 | dnl if no exec_prefix given, then use prefix 24 | if test "x$exec_prefix" = "xNONE"; then 25 | exec_prefix=$prefix 26 | fi 27 | 28 | full_var="$FROM_VAR" 29 | dnl loop until it doesn't change anymore 30 | while true; do 31 | new_full_var="`eval echo $full_var`" 32 | if test "x$new_full_var" = "x$full_var"; then break; fi 33 | full_var=$new_full_var 34 | done 35 | 36 | dnl clean up 37 | full_var=$new_full_var 38 | AC_SUBST([$1], "$full_var") 39 | 40 | dnl restore prefix and exec_prefix 41 | prefix=$prefix_save 42 | exec_prefix=$exec_prefix_save 43 | ]) 44 | -------------------------------------------------------------------------------- /src/components/components_symbian/inc/BellagioOpenMaxComponentUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/BellagioOpenMaxComponent.hrh 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_COMPONENT_UID_HRH__ 23 | #define __BELLAGIO_OPENMAX_COMPONENT_UID_HRH__ 24 | 25 | // Interface Implementation UID 26 | #define KUidBellagioOpenMaxComponent 0xF01F0010 // Interface UID for Bellagio OpenMax components 27 | 28 | #endif // __BELLAGIO_OPENMAX_COMPONENT_UID_HRH__ 29 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/inc/BellagioOpenMaxVolumeImplUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/inc/BellagioOpenMaxVolumeImplUid.hrh 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_VOLUME_IMPL_UID_HRH__ 23 | #define __BELLAGIO_OPENMAX_VOLUME_IMPL_UID_HRH__ 24 | 25 | // Plugin DLL UID 26 | #define KDllUidBellagioOpenMaxVolumeImpl 0xF01F0055 27 | 28 | // Interface Implementation UID 29 | #define KImplUidBellagioOpenMaxVolume 0xF01F0056 // Implementation UID for Bellagio OpenMax volume plugin interface 30 | 31 | #endif // __BELLAGIO_OPENMAX_VOLUME_IMPL_UID_HRH__ 32 | -------------------------------------------------------------------------------- /src/components/jpeg/libjpeg-6c/rdgif.c: -------------------------------------------------------------------------------- 1 | /* 2 | * rdgif.c 3 | * 4 | * Copyright (C) 1991-1997, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains routines to read input images in GIF format. 9 | * 10 | ***************************************************************************** 11 | * NOTE: to avoid entanglements with Unisys' patent on LZW compression, * 12 | * the ability to read GIF files has been removed from the IJG distribution. * 13 | * Sorry about that. * 14 | ***************************************************************************** 15 | * 16 | * We are required to state that 17 | * "The Graphics Interchange Format(c) is the Copyright property of 18 | * CompuServe Incorporated. GIF(sm) is a Service Mark property of 19 | * CompuServe Incorporated." 20 | */ 21 | 22 | #include "cdjpeg.h" /* Common decls for cjpeg/djpeg applications */ 23 | 24 | #ifdef GIF_SUPPORTED 25 | 26 | /* 27 | * The module selection routine for GIF format input. 28 | */ 29 | 30 | GLOBAL(cjpeg_source_ptr) 31 | jinit_read_gif (j_compress_ptr cinfo) 32 | { 33 | fprintf(stderr, "GIF input is unsupported for legal reasons. Sorry.\n"); 34 | exit(EXIT_FAILURE); 35 | return NULL; /* keep compiler happy */ 36 | } 37 | 38 | #endif /* GIF_SUPPORTED */ 39 | -------------------------------------------------------------------------------- /src/omx_create_loaders.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/omx_create_loaders.h 3 | 4 | Define a generic entry point for component loaders creation. 5 | Each component loader should provide an implementation of the 6 | createComponentLoaders function. 7 | 8 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | 29 | */ 30 | 31 | #ifndef __OMX_CREATE_LOADERS_H__ 32 | #define __OMX_CREATE_LOADERS_H__ 33 | 34 | #ifdef __cplusplus 35 | extern "C" { 36 | #endif 37 | 38 | int 39 | createComponentLoaders(void); 40 | 41 | #ifdef __cplusplus 42 | } 43 | #endif /* __cplusplus */ 44 | 45 | #endif // __OMX_CREATE_LOADERS_H__ 46 | -------------------------------------------------------------------------------- /src/components/jpeg/libjpeg-6c/jconfig.h: -------------------------------------------------------------------------------- 1 | /* jconfig.h. Generated automatically by configure. */ 2 | /* jconfig.cfg --- source file edited by configure script */ 3 | /* see jconfig.doc for explanations */ 4 | 5 | #define HAVE_PROTOTYPES 6 | #define HAVE_UNSIGNED_CHAR 7 | #define HAVE_UNSIGNED_SHORT 8 | #undef void 9 | #undef const 10 | #undef CHAR_IS_UNSIGNED 11 | #define HAVE_STDDEF_H 12 | #define HAVE_STDLIB_H 13 | #undef NEED_BSD_STRINGS 14 | #undef NEED_SYS_TYPES_H 15 | #undef NEED_FAR_POINTERS 16 | #undef NEED_SHORT_EXTERNAL_NAMES 17 | /* Define this if you get warnings about undefined structures. */ 18 | #undef INCOMPLETE_TYPES_BROKEN 19 | 20 | #ifdef JPEG_INTERNALS 21 | 22 | #undef RIGHT_SHIFT_IS_UNSIGNED 23 | #define INLINE __inline__ 24 | /* These are for configuring the JPEG memory manager. */ 25 | #undef DEFAULT_MAX_MEM 26 | #undef NO_MKTEMP 27 | 28 | #endif /* JPEG_INTERNALS */ 29 | 30 | #ifdef JPEG_CJPEG_DJPEG 31 | 32 | #define BMP_SUPPORTED /* BMP image file format */ 33 | #define GIF_SUPPORTED /* GIF image file format */ 34 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 35 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 36 | #define TARGA_SUPPORTED /* Targa image file format */ 37 | 38 | #undef TWO_FILE_COMMANDLINE 39 | #undef NEED_SIGNAL_CATCHER 40 | #undef DONT_USE_B_MODE 41 | 42 | /* Define this if you want percent-done progress reports from cjpeg/djpeg. */ 43 | #undef PROGRESS_REPORT 44 | 45 | #endif /* JPEG_CJPEG_DJPEG */ 46 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/inc/BellagioOpenMaxAudioMixerImplUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/audiomixer/inc/BellagioOpenMaxAudioMixerImplUid.hrh 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_AUDIOMIXER_IMPL_UID_HRH__ 23 | #define __BELLAGIO_OPENMAX_AUDIOMIXER_IMPL_UID_HRH__ 24 | 25 | // Plugin DLL UID 26 | #define KDllUidBellagioOpenMaxAudioMixerImpl 0xF01F0015 27 | 28 | // Interface Implementation UID 29 | #define KImplUidBellagioOpenMaxAudioMixer 0xF01F0016 // Implementation UID for Bellagio OpenMax audiomixer plugin interface 30 | 31 | #endif // __BELLAGIO_OPENMAX_AUDIOMIXER_IMPL_UID_HRH__ 32 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/sis/BellagioOpenMaxVolume.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for BellagioOpenMaxVolume.dll 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"BellagioOpenMaxVolume"},(0xF01F0055),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\BellagioOpenMaxVolume.dll" -"!:\sys\bin\BellagioOpenMaxVolume.dll" 36 | "Epoc32\Data\Z\Resource\PlugIns\BellagioOpenMaxVolume.rsc" -"!:\resource\plugins\BellagioOpenMaxVolume.rsc" 37 | -------------------------------------------------------------------------------- /src/common.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/common.h 3 | 4 | OpenMAX Integration Layer Core. This library implements the OpenMAX core 5 | responsible for environment setup, component tunneling and communication. 6 | 7 | Copyright (C) 2007, 2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #ifndef __COMMON_H__ 31 | #define __COMMON_H__ 32 | 33 | int makedir(const char *newdir); 34 | char* allRegistryGetFilename(char* registry_name); 35 | char *registryGetFilename(void); 36 | 37 | typedef struct nameList { 38 | char* name; 39 | struct nameList *next; 40 | } nameList; 41 | 42 | 43 | #endif 44 | 45 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/inc/BellagioOpenMaxOutputStreamImplUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/inc/BellagioOpenMaxOutputStreamImplUid.hrh 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_OUTPUTSTREAM_IMPL_UID_HRH__ 23 | #define __BELLAGIO_OPENMAX_OUTPUTSTREAM_IMPL_UID_HRH__ 24 | 25 | // Plugin DLL UID 26 | #define KDllUidBellagioOpenMaxOutputStreamImpl 0xF01F0013 27 | 28 | // Interface Implementation UID 29 | #define KImplUidBellagioOpenMaxOutputStream 0xF01F0014 // Implementation UID for Bellagio OpenMax Symbian output stream plugin interface 30 | 31 | #endif // __BELLAGIO_OPENMAX_OUTPUTSTREAM_IMPL_UID_HRH__ 32 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/inc/BellagioOpenMaxVolume.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/inc/BellagioOpenMaxVolume.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_VOLUME_H__ 23 | #define __BELLAGIO_OPENMAX_VOLUME_H__ 24 | 25 | #include //TBool 26 | #include //RLibrary 27 | 28 | #include "BellagioOpenMaxComponent.h" 29 | #include "BellagioOpenMaxVolumeImplUid.hrh" 30 | 31 | class CBellagioOpenMaxVolume : public CBellagioOpenMaxComponent 32 | { 33 | public: 34 | static CBellagioOpenMaxVolume* NewL(TAny* aInitParams); 35 | ~CBellagioOpenMaxVolume(); 36 | }; 37 | 38 | #endif // __BELLAGIO_OPENMAX_VOLUME_H__ 39 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/sis/BellagioOpenMaxAudioMixer.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for BellagioOpenMaxAudioMixer.dll 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"BellagioOpenMaxAudioMixer"},(0xF01F0015),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\BellagioOpenMaxAudioMixer.dll" -"!:\sys\bin\BellagioOpenMaxAudioMixer.dll" 36 | "Epoc32\Data\Z\Resource\PlugIns\BellagioOpenMaxAudioMixer.rsc" -"!:\resource\plugins\BellagioOpenMaxAudioMixer.rsc" 37 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbiancompnameenum/sis/OmxCompNameEnumTest.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for OmxCompNameEnumTest.exe 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"OmxCompNameEnumTest"},(0xF010020F),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\OmxCompNameEnumTest.exe" -"!:\sys\bin\OmxCompNameEnumTest.exe" 36 | "epoc32\data\z\private\10003a3f\import\apps\omxcompnameenumtest_reg.rsc" -"!:\private\10003a3f\import\apps\omxcompnameenumtest_reg.rsc" 37 | 38 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/sis/BellagioOpenMaxOutputStream.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for BellagioOpenMaxOutputStream.dll 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"BellagioOpenMaxOutputStream"},(0xF01F0013),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\BellagioOpenMaxOutputStream.dll" -"!:\sys\bin\BellagioOpenMaxOutputStream.dll" 36 | "Epoc32\Data\Z\Resource\PlugIns\BellagioOpenMaxOutputStream.rsc" -"!:\resource\plugins\BellagioOpenMaxOutputStream.rsc" 37 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/sis/BellagioOpenMaxSymbianLoader.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for BellagioOpenMaxSymbianLoader.dll 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"BellagioOpenMaxSymbianLoader"},(0xF01F0033),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\BellagioOpenMaxSymbianLoader.dll" -"!:\sys\bin\BellagioOpenMaxSymbianLoader.dll" 36 | "Epoc32\Data\Z\Resource\PlugIns\BellagioOpenMaxSymbianLoader.rsc" -"!:\resource\plugins\BellagioOpenMaxSymbianLoader.rsc" 37 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/inc/BellagioOpenMaxSymbianLoaderImplUid.hrh: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/symbianloader/inc/BellagioOpenMaxSymbianLoaderImplUid.hrh 3 | 4 | Component loader header for symbian. 5 | 6 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 7 | 8 | This library is free software; you can redistribute it and/or modify it under 9 | the terms of the GNU Lesser General Public License as published by the Free 10 | Software Foundation; either version 2.1 of the License, or (at your option) 11 | any later version. 12 | 13 | This library is distributed in the hope that it will be useful, but WITHOUT 14 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 15 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 16 | details. 17 | 18 | You should have received a copy of the GNU Lesser General Public License 19 | along with this library; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin St, Fifth Floor, Boston, MA 21 | 02110-1301 USA 22 | */ 23 | 24 | #ifndef __BELLAGIO_OPENMAX_SYMBIANLOADER_IMPL_UID_HRH__ 25 | #define __BELLAGIO_OPENMAX_SYMBIANLOADER_IMPL_UID_HRH__ 26 | 27 | // Plugin DLL UID 28 | #define KDllUidBellagioOpenMaxSymbianLoaderImpl 0xF01F0033 29 | 30 | // Interface Implementation UID 31 | #define KImplUidBellagioOpenMaxSymbianLoader 0xF01F0034 // Implementation UID for Bellagio OpenMax symbian loader plugin interface 32 | 33 | #endif // __BELLAGIO_OPENMAX_SYMBIANLOADER_IMPL_UID_HRH__ 34 | 35 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/inc/BellagioOpenMaxAudioMixer.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/audiomixer/inc/BellagioOpenMaxAudioMixer.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_AUDIOMIXER_H__ 23 | #define __BELLAGIO_OPENMAX_AUDIOMIXER_H__ 24 | 25 | #include //TBool 26 | #include //RLibrary 27 | 28 | #include "BellagioOpenMaxComponent.h" 29 | #include "BellagioOpenMaxAudioMixerImplUid.hrh" 30 | 31 | class CBellagioOpenMaxAudioMixer : public CBellagioOpenMaxComponent 32 | { 33 | public: 34 | static CBellagioOpenMaxAudioMixer* NewL(TAny* aInitParams); 35 | ~CBellagioOpenMaxAudioMixer(); 36 | }; 37 | 38 | #endif // __BELLAGIO_OPENMAX_AUDIOMIXER_H__ 39 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/inc/BellagioOpenMaxOutputStream.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/inc/BellagioOpenMaxOutputStream.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_OUTPUTSTREAM_H__ 23 | #define __BELLAGIO_OPENMAX_OUTPUTSTREAM_H__ 24 | 25 | #include //TBool 26 | #include //RLibrary 27 | 28 | #include "BellagioOpenMaxComponent.h" 29 | #include "BellagioOpenMaxOutputStreamImplUid.hrh" 30 | 31 | class CBellagioOpenMaxOutputStream : public CBellagioOpenMaxComponent 32 | { 33 | public: 34 | static CBellagioOpenMaxOutputStream* NewL(TAny* aInitParams); 35 | ~CBellagioOpenMaxOutputStream(); 36 | }; 37 | 38 | #endif // __BELLAGIO_OPENMAX_OUTPUTSTREAM_H__ 39 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/src/omx_symbian_output_stream_wrapper.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/src/omx_symbian_output_stream_wrapper.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __OMX_SYMBIAN_OUTPUT_STREAM_WRAPPER_H__ 23 | #define __OMX_SYMBIAN_OUTPUT_STREAM_WRAPPER_H__ 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | int create_output_stream(void **output); 30 | 31 | int open_output_stream(void *output, int sampleRate, int channels); 32 | 33 | int close_output_stream(void *output); 34 | 35 | int write_audio_data(void *output, unsigned char *buffer, int length); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif /* __cplusplus */ 40 | 41 | #endif // __OMX_SYMBIAN_OUTPUT_STREAM_WRAPPER_H__ 42 | -------------------------------------------------------------------------------- /test/components/audio/Makefile.am: -------------------------------------------------------------------------------- 1 | check_PROGRAMS = omxaudiodectest audio_use_case audio_use_case_tunnel omxaudiocapnplay omxvoicexchange omxaudioenctest 2 | 3 | bellagio_LDADD = $(top_builddir)/src/libomxil-bellagio.la 4 | bellagio_CFLAGS = -I$(top_srcdir)/include 5 | common_LDADD = ../common/libtestcommon.la 6 | common_CFLAGS = -I$(srcdir)/../common 7 | 8 | omxaudiodectest_SOURCES = omxaudiodectest.c omxaudiodectest.h 9 | omxaudiodectest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 10 | omxaudiodectest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 11 | 12 | omxaudiocapnplay_SOURCES = omxaudiocapnplay.c omxaudiocapnplay.h 13 | omxaudiocapnplay_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 14 | omxaudiocapnplay_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 15 | 16 | audio_use_case_SOURCES = audio_use_case.c omxaudiodectest.h 17 | audio_use_case_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 18 | audio_use_case_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 19 | 20 | audio_use_case_tunnel_SOURCES = audio_use_case_tunnel.c omxaudiodectest.h 21 | audio_use_case_tunnel_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 22 | audio_use_case_tunnel_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 23 | 24 | omxvoicexchange_SOURCES = omxvoicexchange.c omxvoicexchange.h 25 | omxvoicexchange_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 26 | omxvoicexchange_CFLAGS= $(bellagio_CFLAGS) $(common_CFLAGS) 27 | 28 | omxaudioenctest_SOURCES = omxaudioenctest.c omxaudioenctest.h 29 | omxaudioenctest_LDADD = $(bellagio_LDADD) $(common_LDADD) -lpthread 30 | omxaudioenctest_CFLAGS = $(bellagio_CFLAGS) $(common_CFLAGS) 31 | 32 | -------------------------------------------------------------------------------- /doc/omxregister-bellagio.1.in: -------------------------------------------------------------------------------- 1 | .\" Process this file with 2 | .\" groff -man -Tascii omxregister-bellagio.1 3 | .\" 4 | .TH OMXREGISTER-BELLAGIO 1 "July 2008" Bellagio "OpenMAX Bellagio" 5 | .SH NAME 6 | omxregister-bellagio \- register 7 | .SM OpenMAX/Bellagio 8 | components 9 | .SH SYNOPSIS 10 | .B omxregister-bellagio [-v] [-h] [ 11 | .I componentspath 12 | .B ]... 13 | .SH DESCRIPTION 14 | Before using any 15 | .SM OpenMAX 16 | component, they 17 | .B must 18 | be registered with the 19 | .B omxregister-bellagio 20 | command\. 21 | 22 | By default, this will create a file named 23 | .I ".omxregister" 24 | under the home 25 | .B XDG 26 | data directory with all the components found in 27 | .I @plugindir@\. 28 | .SH OPTIONS 29 | .IP -v 30 | Display a verbose output, listing all the components registered. 31 | .IP -h 32 | Display help. 33 | .IP componentspath 34 | Location of the 35 | .SM OpenMAX/Bellagio 36 | components (by default 37 | .I @plugindir@)\. 38 | .SM Multiple locations should be separated by colons 39 | .SH FILES 40 | .I $XDG_DATA_HOME/@PACKAGE@/registry 41 | or 42 | .I $OMX_BELLAGIO_REGISTRY. 43 | .RS 44 | The 45 | .SM OpenMAX/Bellagio 46 | component registry file. 47 | .RE 48 | .SH ENVIRONMENT 49 | .IP OMX_BELLAGIO_REGISTRY 50 | .RS 51 | Location of the registry. 52 | .RE 53 | .IP XDG_DATA_HOME 54 | .RS 55 | Location of the home data directory where registry is saved (if 56 | .I $OMX_BELLAGIO_REGISTRY 57 | is unset). 58 | .RE 59 | .SH AUTHORS 60 | Bhattacharyya Sourya, 61 | Melpignano Diego, 62 | Niemimuukko Ukri, 63 | Sen Pankaj, 64 | Siorpaes David 65 | and Urlini Giulio. 66 | 67 | Man page written by Marc-Andre Lureau. 68 | -------------------------------------------------------------------------------- /sis/libomxil.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for libomxil.dll 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"libomxil"},(0xF01F8655),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; Embedded sis files 35 | @"BellagioOpenMaxVolume.sis",(0xF01F0055) 36 | @"BellagioOpenMaxOutputStream.sis",(0xF01F0013) 37 | @"BellagioOpenMaxAudioMixer.sis",(0xF01F0015) 38 | @"BellagioOpenMaxSymbianLoader.sis",(0xF01F0033) 39 | @"OmxSymbianOutputStreamTest.sis",(0xF010018F) 40 | @"OmxAudioMixerTest.sis",(0xF010019F) 41 | @"OmxCompNameEnumTest.sis",(0xF010020F) 42 | ; 43 | ; one dll to install 44 | "Epoc32\release\armv5\urel\libomxil.dll" -"!:\sys\bin\libomxil.dll" 45 | 46 | -------------------------------------------------------------------------------- /src/content_pipe_file.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/content_pipe_file.h 3 | 4 | This file implements the support for content pipes related to local files. 5 | 6 | Copyright (C) 2007, 2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date: 2008-09-18 13:24:20 +0200 (Thu, 18 Sep 2008) $ 25 | Revision $Rev: 633 $ 26 | Author $Author: gsent $ 27 | */ 28 | 29 | #ifndef __CONTENT_PIPE_FILE_H__ 30 | #define __CONTENT_PIPE_FILE_H__ 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | #include 39 | #include 40 | 41 | #include "omx_comp_debug_levels.h" 42 | 43 | typedef struct { 44 | 45 | /* public */ 46 | CP_PIPETYPE pipe; 47 | 48 | /* private */ 49 | int fd; 50 | 51 | } file_ContentPipe; 52 | 53 | #endif 54 | -------------------------------------------------------------------------------- /doc/Makefile.am: -------------------------------------------------------------------------------- 1 | man_MANS = omxregister-bellagio.1 2 | 3 | EXTRA_DIST = Doxyfile.in footer_SF.html.in 4 | 5 | # ensure doxygen-build.stamp is included, or else the documentation will 6 | # not be built or distributed 7 | noinst_DATA = doxygen-build.stamp 8 | 9 | if HAVE_DOXYGEN 10 | #doxygen-build.stamp: Doxyfile $(top_srcdir) 11 | doxygen-build.stamp: Doxyfile $(top_srcdir)/include/*.h $(top_srcdir)/src/*.h $(top_srcdir)/src/base/*.h 12 | doxygen 13 | touch doxygen-build.stamp 14 | else 15 | doxygen-build.stamp: 16 | echo "*** Warning: Doxygen not found; documentation will not be built." 17 | touch doxygen-build.stamp 18 | endif 19 | 20 | dist_docdir = $(distdir)/$(PACKAGE) 21 | 22 | dist-hook: 23 | if test -d $(PACKAGE); then \ 24 | mkdir $(dist_docdir); \ 25 | for dir in $(PACKAGE)/*; do \ 26 | b=`basename $$dir`; \ 27 | if test -d $$dir; then \ 28 | mkdir $(dist_docdir)/$$b; \ 29 | for f in $$dir/*; do \ 30 | cp -p $$f $(dist_docdir)/$$b; \ 31 | done \ 32 | fi \ 33 | done \ 34 | fi 35 | 36 | 37 | install-data-local: doxygen-build.stamp 38 | $(mkinstalldirs) $(DESTDIR)$(docdir) 39 | if test -d $(PACKAGE); then \ 40 | for dir in $(PACKAGE)/*; do \ 41 | if test -d $$dir; then \ 42 | b=`basename $$dir`; \ 43 | $(mkinstalldirs) $(DESTDIR)$(docdir)/$$b; \ 44 | for f in $$dir/*; do \ 45 | $(INSTALL_DATA) $$f $(DESTDIR)$(docdir)/$$b; \ 46 | done \ 47 | fi \ 48 | done \ 49 | fi 50 | 51 | uninstall-local: 52 | rm -rf $(DESTDIR)$(docdir) 53 | 54 | clean-local: 55 | if test -d $(PACKAGE); then rm -rf $(PACKAGE); fi 56 | if test -f doxygen-build.stamp; then rm -f doxygen-build.stamp; fi 57 | 58 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianoutputstream/sis/OmxSymbianOutputStreamTest.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for OmxSymbianOutputStreamTest.exe 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"OmxSymbianOutputStreamTest"},(0xF010018F),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\OmxSymbianOutputStreamTest.exe" -"!:\sys\bin\OmxSymbianOutputStreamTest.exe" 36 | "epoc32\data\z\private\10003a3f\import\apps\omxsymbianoutputstreamtest_reg.rsc" -"!:\private\10003a3f\import\apps\omxsymbianoutputstreamtest_reg.rsc" 37 | ; test file 38 | "libomxil\trunk\test\components\components_symbian\symbianoutputstream\data\music_stereo_44k.raw" -"!:\music_stereo_44k.raw" 39 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianaudiomixer/sis/OmxAudioMixerTest.pkg: -------------------------------------------------------------------------------- 1 | ; 2 | ; Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | ; 4 | ; This library is free software; you can redistribute it and/or modify it under 5 | ; the terms of the GNU Lesser General Public License as published by the Free 6 | ; Software Foundation; either version 2.1 of the License, or (at your option) 7 | ; any later version. 8 | ; 9 | ; This library is distributed in the hope that it will be useful, but WITHOUT 10 | ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | ; FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | ; details. 13 | ; 14 | ; You should have received a copy of the GNU Lesser General Public License 15 | ; along with this library; if not, write to the Free Software Foundation, Inc., 16 | ; 51 Franklin St, Fifth Floor, Boston, MA 17 | ; 02110-1301 USA 18 | ; 19 | ; Installation file for OmxAudioMixerTest.exe 20 | ; 21 | ; 22 | ;Languages 23 | &EN 24 | ; 25 | ; UID is the dll's UID 26 | #{"OmxAudioMixerTest"},(0xF010019F),0,9,0 27 | ; 28 | ;Localised Vendor name 29 | %{"Vendor-EN"} 30 | ; 31 | ;Supports Series 60 v 3.0 32 | [0x101F7961], 0, 0, 0, {"Series60ProductID"} 33 | ; 34 | ; one dll to install 35 | "Epoc32\release\armv5\urel\OmxAudioMixerTest.exe" -"!:\sys\bin\OmxAudioMixerTest.exe" 36 | "epoc32\data\z\private\10003a3f\import\apps\omxaudiomixertest_reg.rsc" -"!:\private\10003a3f\import\apps\omxaudiomixertest_reg.rsc" 37 | ; test file 38 | "libomxil\trunk\test\components\components_symbian\symbianaudiomixer\data\spede_44k.raw" -"!:\spede_44k.raw" 39 | "libomxil\trunk\test\components\components_symbian\symbianaudiomixer\data\vesku_44k.raw" -"!:\vesku_44k.raw" 40 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/src/BellagioOpenMaxLoader.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/BellagioOpenMaxLoader.ccp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxLoader.h" 23 | 24 | CBellagioOpenMaxLoader* CBellagioOpenMaxLoader::NewL(TUid id) 25 | { 26 | TUid id_key; 27 | 28 | TAny *ptr = REComSession::CreateImplementationL(id, id_key); 29 | 30 | if (!ptr) 31 | { 32 | User::Leave(KErrNoMemory); 33 | } 34 | 35 | CBellagioOpenMaxLoader* aLoader = REINTERPRET_CAST(CBellagioOpenMaxLoader*, ptr); 36 | 37 | aLoader->setId(id_key); 38 | 39 | return aLoader; 40 | } 41 | 42 | CBellagioOpenMaxLoader::CBellagioOpenMaxLoader() 43 | { 44 | } 45 | 46 | CBellagioOpenMaxLoader::~CBellagioOpenMaxLoader() 47 | { 48 | if (loader != NULL) 49 | { 50 | delete loader; 51 | loader = 0; 52 | } 53 | 54 | REComSession::DestroyedImplementation(iDtor_ID_Key); 55 | } 56 | -------------------------------------------------------------------------------- /src/Makefile.am: -------------------------------------------------------------------------------- 1 | # Build order is important 2 | # First base, then core, finally components 3 | SUBDIRS = base . components 4 | 5 | bin_PROGRAMS = omxregister-bellagio 6 | omxregister_bellagio_SOURCES = omxregister.c common.c common.h 7 | omxregister_bellagio_CFLAGS = -DOMXILCOMPONENTSPATH=\"$(plugindir)/\" \ 8 | -I$(top_srcdir)/include -lomxil-bellagio 9 | 10 | lib_LTLIBRARIES = libomxil-bellagio.la 11 | libomxil_bellagio_la_SOURCES = component_loader.h \ 12 | st_static_component_loader.c st_static_component_loader.h \ 13 | omxcore.c omxcore.h \ 14 | omx_create_loaders_linux.c omx_create_loaders.h \ 15 | omx_comp_debug_levels.h \ 16 | tsemaphore.c tsemaphore.h \ 17 | queue.c queue.h \ 18 | common.c common.h \ 19 | content_pipe_inet.c content_pipe_inet.h \ 20 | content_pipe_file.c content_pipe_file.h 21 | 22 | libomxil_bellagio_la_CFLAGS = -I$(top_srcdir)/include -I$(srcdir)/base -DINSTALL_PATH_STR=\"$(plugindir)\" 23 | libomxil_bellagio_la_LIBADD = base/libomxbase.la 24 | libomxil_bellagio_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ 25 | 26 | include_extradir = $(includedir)/bellagio 27 | 28 | include_extra_HEADERS = $(srcdir)/omxcore.h \ 29 | $(srcdir)/queue.h \ 30 | $(srcdir)/component_loader.h \ 31 | $(srcdir)/st_static_component_loader.h \ 32 | $(srcdir)/tsemaphore.h \ 33 | $(srcdir)/omx_comp_debug_levels.h \ 34 | $(srcdir)/common.h \ 35 | $(srcdir)/base/omx_base_component.h \ 36 | $(srcdir)/base/omx_base_port.h \ 37 | $(srcdir)/base/omx_base_audio_port.h \ 38 | $(srcdir)/base/omx_base_video_port.h \ 39 | $(srcdir)/base/omx_base_filter.h \ 40 | $(srcdir)/base/omx_base_sink.h \ 41 | $(srcdir)/base/omx_base_source.h \ 42 | $(srcdir)/base/omx_classmagic.h 43 | -------------------------------------------------------------------------------- /src/content_pipe_inet.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/content_pipe_inet.h 3 | 4 | This file implements the support for content pipes related to inet resources. 5 | 6 | Copyright (C) 2007, 2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date: 2008-09-18 13:24:20 +0200 (Thu, 18 Sep 2008) $ 25 | Revision $Rev: 633 $ 26 | Author $Author: gsent $ 27 | */ 28 | 29 | #ifndef __CONTENT_PIPE_INET_H__ 30 | #define __CONTENT_PIPE_INET_H__ 31 | 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | #include 41 | 42 | 43 | #include 44 | #include 45 | 46 | #include "omx_comp_debug_levels.h" 47 | 48 | #define SOCKET_ERROR -1 49 | #define QUEUE_SIZE 1 50 | 51 | typedef struct { 52 | 53 | /* public */ 54 | CP_PIPETYPE pipe; 55 | 56 | /* private */ 57 | int sfd; 58 | int cfd; 59 | 60 | } inet_ContentPipe; 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/data/F01F0033.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | #include "RegistryInfoV2.rh" 21 | #include "BellagioOpenMaxLoaderUid.hrh" 22 | #include "BellagioOpenMaxSymbianLoaderImplUid.hrh" 23 | 24 | RESOURCE REGISTRY_INFO theInfo 25 | { 26 | resource_format_version = RESOURCE_FORMAT_VERSION_2; 27 | dll_uid = KDllUidBellagioOpenMaxSymbianLoaderImpl; 28 | interfaces = 29 | { 30 | INTERFACE_INFO 31 | { 32 | interface_uid = KUidBellagioOpenMaxLoader; 33 | implementations = 34 | { 35 | IMPLEMENTATION_INFO 36 | { 37 | implementation_uid = KImplUidBellagioOpenMaxSymbianLoader; // 0xF01F0034 38 | version_no = 1; 39 | display_name = "OMX.nokia.symbian.loader"; 40 | default_data = // The mime types supported by the plugin 41 | " video/mpeg||video/H263-2000; profile=*;level=?0||video/*video||"; 42 | opaque_data = ""; 43 | } 44 | }; 45 | } 46 | }; 47 | } 48 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/data/F01F0055.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | #include "RegistryInfoV2.rh" 21 | #include "BellagioOpenMaxComponentUid.hrh" 22 | #include "BellagioOpenMaxVolumeImplUid.hrh" 23 | 24 | RESOURCE REGISTRY_INFO theInfo 25 | { 26 | resource_format_version = RESOURCE_FORMAT_VERSION_2; 27 | dll_uid = KDllUidBellagioOpenMaxVolumeImpl; 28 | interfaces = 29 | { 30 | INTERFACE_INFO 31 | { 32 | interface_uid = KUidBellagioOpenMaxComponent; 33 | implementations = 34 | { 35 | IMPLEMENTATION_INFO 36 | { 37 | implementation_uid = KImplUidBellagioOpenMaxVolume; 38 | version_no = 1; 39 | display_name = "OMX.st.volume.component"; 40 | default_data = ""; 41 | opaque_data = "0"; 42 | } 43 | }; 44 | } 45 | }; 46 | } 47 | -------------------------------------------------------------------------------- /src/omxcore.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/omxcore.h 3 | 4 | OpenMAX Integration Layer Core. This library implements the OpenMAX core 5 | responsible for environment setup, components tunneling and communication. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #ifndef __ST_OMXCORE_H__ 31 | #define __ST_OMXCORE_H__ 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | #include "component_loader.h" 39 | #include "omx_comp_debug_levels.h" 40 | 41 | //forward decl 42 | struct BOSA_COMPONENTLOADER; 43 | 44 | OMX_ERRORTYPE BOSA_AddComponentLoader(struct BOSA_COMPONENTLOADER *pLoader); 45 | 46 | /** Defines the major version of the core */ 47 | #define SPECVERSIONMAJOR 1 48 | /** Defines the minor version of the core */ 49 | #define SPECVERSIONMINOR 1 50 | /** Defines the revision of the core */ 51 | #define SPECREVISION 0 52 | /** Defines the step version of the core */ 53 | #define SPECSTEP 0 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/data/F01F0015.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | #include "RegistryInfoV2.rh" 21 | #include "BellagioOpenMaxComponentUid.hrh" 22 | #include "BellagioOpenMaxAudioMixerImplUid.hrh" 23 | 24 | RESOURCE REGISTRY_INFO theInfo 25 | { 26 | resource_format_version = RESOURCE_FORMAT_VERSION_2; 27 | dll_uid = KDllUidBellagioOpenMaxAudioMixerImpl; 28 | interfaces = 29 | { 30 | INTERFACE_INFO 31 | { 32 | interface_uid = KUidBellagioOpenMaxComponent; 33 | implementations = 34 | { 35 | IMPLEMENTATION_INFO 36 | { 37 | implementation_uid = KImplUidBellagioOpenMaxAudioMixer; // 0xF01F0016 38 | version_no = 1; 39 | display_name = "OMX.st.audio.mixer"; 40 | default_data = "audio.mixer"; // The roles supported by the plugin 41 | opaque_data = "1"; // The number of roles supported by the plugin 42 | } 43 | }; 44 | } 45 | }; 46 | } 47 | -------------------------------------------------------------------------------- /sis/createandsign.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | makesis -d%1 "..\src\loaders\loaders_symbian\symbianecomloader\sis\bellagioopenmaxsymbianloader.pkg" "%1\bellagioopenmaxsymbianloader.sis" 4 | signsis -s "%1\bellagioopenmaxsymbianloader.sis" "%1\bellagioopenmaxsymbianloader.sis" %2 %3 %4 5 | 6 | makesis -d%1 "..\src\components\components_symbian\outputstream\sis\bellagioopenmaxoutputstream.pkg" "%1\bellagioopenmaxoutputstream.sis" 7 | signsis -s "%1\bellagioopenmaxoutputstream.sis" "%1\bellagioopenmaxoutputstream.sis" %2 %3 %4 8 | 9 | makesis -d%1 "..\src\components\components_symbian\volume\sis\bellagioopenmaxvolume.pkg" "%1\bellagioopenmaxvolume.sis" 10 | signsis -s "%1\bellagioopenmaxvolume.sis" "%1\bellagioopenmaxvolume.sis" %2 %3 %4 11 | 12 | makesis -d%1 "..\src\components\components_symbian\audiomixer\sis\bellagioopenmaxaudiomixer.pkg" "%1\bellagioopenmaxaudiomixer.sis" 13 | signsis -s "%1\bellagioopenmaxaudiomixer.sis" "%1\bellagioopenmaxaudiomixer.sis" %2 %3 %4 14 | 15 | makesis -d%1 "..\test\components\components_symbian\symbianoutputstream\sis\OmxSymbianOutputStreamTest.pkg" "%1\OmxSymbianOutputStreamTest.sis" 16 | signsis -s "%1\OmxSymbianOutputStreamTest.sis" "%1\OmxSymbianOutputStreamTest.sis" %2 %3 %4 17 | 18 | makesis -d%1 "..\test\components\components_symbian\symbianaudiomixer\sis\OmxAudioMixerTest.pkg" "%1\OmxAudioMixerTest.sis" 19 | signsis -s "%1\OmxAudioMixerTest.sis" "%1\OmxAudioMixerTest.sis" %2 %3 %4 20 | 21 | makesis -d%1 "..\test\components\components_symbian\symbiancompnameenum\sis\OmxCompNameEnumTest.pkg" "%1\OmxCompNameEnumTest.sis" 22 | signsis -s "%1\OmxCompNameEnumTest.sis" "%1\OmxCompNameEnumTest.sis" %2 %3 %4 23 | 24 | makesis -d%1 "libomxil.pkg" 25 | signsis -s "libomxil.sis" "libomxil.sis" %2 %3 %4 26 | 27 | DEL "%1\bellagioopenmaxsymbianloader.sis" 28 | DEL "%1\bellagioopenmaxvolume.sis" 29 | DEL "%1\bellagioopenmaxaudiomixer.sis" 30 | DEL "%1\bellagioopenmaxoutputstream.sis" 31 | DEL "%1\OmxSymbianOutputStreamTest.sis" 32 | DEL "%1\OmxAudioMixerTest.sis" 33 | DEL "%1\OmxCompNameEnumTest.sis" 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/data/F01F0013.rss: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | #include "RegistryInfoV2.rh" 21 | #include "BellagioOpenMaxComponentUid.hrh" 22 | #include "BellagioOpenMaxOutputStreamImplUid.hrh" 23 | 24 | RESOURCE REGISTRY_INFO theInfo 25 | { 26 | resource_format_version = RESOURCE_FORMAT_VERSION_2; 27 | dll_uid = KDllUidBellagioOpenMaxOutputStreamImpl; 28 | interfaces = 29 | { 30 | INTERFACE_INFO 31 | { 32 | interface_uid = KUidBellagioOpenMaxComponent; 33 | implementations = 34 | { 35 | IMPLEMENTATION_INFO 36 | { 37 | implementation_uid = KImplUidBellagioOpenMaxOutputStream; // 0xF01F0014 38 | version_no = 1; 39 | display_name = "OMX.nokia.outputstream.component"; 40 | default_data = ""; // The roles supported by the plugin 41 | opaque_data = "0"; // The number of roles supported by the plugin 42 | } 43 | }; 44 | } 45 | }; 46 | } 47 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/src/BellagioOpenMaxVolume.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/src/BellagioOpenMaxVolume.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxVolume.h" 23 | 24 | // The actual implementation header 25 | extern "C" 26 | { 27 | #include "omx_volume_component.h" 28 | } 29 | 30 | CBellagioOpenMaxVolume* CBellagioOpenMaxVolume::NewL(TAny* aInitParams) 31 | { 32 | CBellagioOpenMaxVolume *self = new(ELeave) CBellagioOpenMaxVolume; 33 | 34 | self->component = new OMX_COMPONENTTYPE; 35 | 36 | if (!self->component) 37 | { 38 | delete self; 39 | self = 0; 40 | User::Leave(KErrNoMemory); 41 | } 42 | 43 | self->component->pComponentPrivate = 0; 44 | 45 | if (omx_volume_component_Constructor(self->component, (OMX_STRING) aInitParams) != OMX_ErrorNone) 46 | { 47 | delete self; 48 | self = 0; 49 | User::Leave(KErrNoMemory); 50 | } 51 | 52 | return self; 53 | } 54 | 55 | CBellagioOpenMaxVolume::~CBellagioOpenMaxVolume() 56 | { 57 | if (component != 0) 58 | { 59 | omx_volume_component_Destructor(component); 60 | delete component; 61 | component = 0; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbiancompnameenum/src/omxcompnameenumtest.c: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/components_symbian/symbiancompnameenum/src/omxcompnameenumtest.c 3 | 4 | Copyright (C) 2008 STMicroelectronics 5 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 6 | 7 | This library is free software; you can redistribute it and/or modify it under 8 | the terms of the GNU Lesser General Public License as published by the Free 9 | Software Foundation; either version 2.1 of the License, or (at your option) 10 | any later version. 11 | 12 | This library is distributed in the hope that it will be useful, but WITHOUT 13 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 14 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 15 | details. 16 | 17 | You should have received a copy of the GNU Lesser General Public License 18 | along with this library; if not, write to the Free Software Foundation, Inc., 19 | 51 Franklin St, Fifth Floor, Boston, MA 20 | 02110-1301 USA 21 | */ 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | #include 30 | 31 | #include 32 | #include 33 | #include 34 | #include 35 | 36 | #include 37 | 38 | int main(int argc, char** argv) { 39 | 40 | int index; 41 | char name[256]; 42 | OMX_ERRORTYPE err = OMX_ErrorNone; 43 | 44 | err = OMX_Init(); 45 | if(err != OMX_ErrorNone) { 46 | DEBUG(DEB_LEV_ERR, "OMX_Init() failed\n"); 47 | exit(1); 48 | } 49 | 50 | index = 0; 51 | while(err == OMX_ErrorNone) 52 | { 53 | err = OMX_ComponentNameEnum(name, 256, index); 54 | if (err == OMX_ErrorNone) 55 | { 56 | printf("Component %d is %s\n", index, name); 57 | } 58 | index++; 59 | } 60 | 61 | printf("Hit any key\n"); 62 | getchar(); 63 | 64 | OMX_Deinit(); 65 | 66 | return 0; 67 | } 68 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/inc/BellagioOpenMaxLoader.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/loaders_symbian/inc/BellagioOpenMaxLoader.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_LOADER_H__ 23 | #define __BELLAGIO_OPENMAX_LOADER_H__ 24 | 25 | #include //TBool 26 | #include //RLibrary 27 | #include //RLibrary 28 | 29 | #include 30 | #include 31 | 32 | #include "BellagioOpenMaxLoaderUid.hrh" 33 | #include "component_loader.h" 34 | 35 | class CBellagioOpenMaxLoader : public CBase 36 | { 37 | public: 38 | static CBellagioOpenMaxLoader* NewL(TUid id); 39 | virtual ~CBellagioOpenMaxLoader(); 40 | 41 | void setId(TUid id); 42 | 43 | BOSA_COMPONENTLOADER* GetLoader(); 44 | 45 | protected: 46 | CBellagioOpenMaxLoader(); 47 | 48 | BOSA_COMPONENTLOADER *loader; 49 | 50 | private: 51 | /* ecom id of this loader, used in kernel side handle destruction */ 52 | TUid iDtor_ID_Key; 53 | }; 54 | 55 | inline void CBellagioOpenMaxLoader::setId(TUid id) 56 | { 57 | iDtor_ID_Key = id; 58 | } 59 | 60 | inline BOSA_COMPONENTLOADER* CBellagioOpenMaxLoader::GetLoader() 61 | { 62 | return loader; 63 | } 64 | 65 | #endif // __BELLAGIO_OPENMAX_LOADER_H__ 66 | -------------------------------------------------------------------------------- /group/bld.inf: -------------------------------------------------------------------------------- 1 | /** 2 | @file group/bld.inf 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | PRJ_PLATFORMS 23 | 24 | DEFAULT 25 | 26 | PRJ_EXPORTS 27 | 28 | PRJ_MMPFILES 29 | 30 | // the components 31 | 32 | // symbian output stream sink 33 | ..\src\components\components_symbian\outputstream\group\BellagioOpenMaxOutputStream.mmp 34 | 35 | // st volume component 36 | ..\src\components\components_symbian\volume\group\BellagioOpenMaxVolume.mmp 37 | 38 | // st mixer component 39 | ..\src\components\components_symbian\audiomixer\group\BellagioOpenMaxAudioMixer.mmp 40 | 41 | // the loaders 42 | 43 | // symbian loader for st type components 44 | ..\src\loaders\loaders_symbian\symbianecomloader\group\BellagioOpenMaxSymbianLoader.mmp 45 | 46 | // the core 47 | libomxil.mmp 48 | 49 | PRJ_TESTEXPORTS 50 | 51 | // Project files for test programs 52 | 53 | PRJ_TESTMMPFILES 54 | 55 | // symbian output stream sink test 56 | ..\test\components\components_symbian\symbianoutputstream\group\OmxSymbianOutputStreamTest.mmp 57 | 58 | // symbian audio mixer test 59 | ..\test\components\components_symbian\symbianaudiomixer\group\OmxAudioMixerTest.mmp 60 | 61 | // symbian component enumeration test 62 | ..\test\components\components_symbian\symbiancompnameenum\group\OmxCompNameEnumTest.mmp 63 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/src/BellagioOpenMaxAudioMixer.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/audiomixer/src/BellagioOpenMaxAudioMixer.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxAudioMixer.h" 23 | 24 | // The actual implementation header 25 | extern "C" 26 | { 27 | #include "omx_audiomixer_component.h" 28 | } 29 | 30 | CBellagioOpenMaxAudioMixer* CBellagioOpenMaxAudioMixer::NewL(TAny* aInitParams) 31 | { 32 | CBellagioOpenMaxAudioMixer *self = new(ELeave) CBellagioOpenMaxAudioMixer; 33 | 34 | self->component = new OMX_COMPONENTTYPE; 35 | 36 | if (!self->component) 37 | { 38 | delete self; 39 | self = 0; 40 | User::Leave(KErrNoMemory); 41 | } 42 | 43 | self->component->pComponentPrivate = 0; 44 | 45 | if (omx_audio_mixer_component_Constructor(self->component, (OMX_STRING) aInitParams) != OMX_ErrorNone) 46 | { 47 | delete self; 48 | self = 0; 49 | User::Leave(KErrNoMemory); 50 | } 51 | 52 | return self; 53 | } 54 | 55 | CBellagioOpenMaxAudioMixer::~CBellagioOpenMaxAudioMixer() 56 | { 57 | if (component != 0) 58 | { 59 | omx_audio_mixer_component_Destructor(component); 60 | delete component; 61 | component = 0; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/src/omx_symbian_output_stream.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/src/omx_symbian_output_stream.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __OMX_SYMBIAN_OUTPUT_STREAM_H__ 23 | #define __OMX_SYMBIAN_OUTPUT_STREAM_H__ 24 | 25 | #include 26 | #include 27 | 28 | class OmxSymbianOutputStream : public CActiveScheduler, 29 | public MMdaAudioOutputStreamCallback 30 | { 31 | public: 32 | OmxSymbianOutputStream(); 33 | virtual ~OmxSymbianOutputStream(); 34 | 35 | int Open(int sampleRate, int channels); 36 | void Close(); 37 | 38 | int WriteAudioData(unsigned char* buffer, int length); 39 | 40 | // from MMdaAudioOutputStreamCallback 41 | void MaoscOpenComplete(TInt aError); 42 | void MaoscBufferCopied(TInt aError, const TDesC8 &aBuffer); 43 | void MaoscPlayComplete(TInt aError); 44 | 45 | private: 46 | CTrapCleanup *iCleanup; 47 | CMdaAudioOutputStream *iOutputStream; 48 | TPtr8 iPlayBuffer; 49 | TBool iOpenComplete; 50 | TBool iPlayComplete; 51 | }; 52 | 53 | #endif // __OMX_SYMBIAN_OUTPUT_STREAM_H__ 54 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/src/omx_symbian_output_stream_wrapper.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/symbianoutputstream/omx_symbian_output_stream_wrapper.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "omx_symbian_output_stream_wrapper.h" 23 | 24 | #include "omx_symbian_output_stream.h" 25 | 26 | #include "omx_comp_debug_levels.h" 27 | 28 | extern "C" int create_output_stream(void **output) 29 | { 30 | OmxSymbianOutputStream* temp = new OmxSymbianOutputStream(); 31 | 32 | DEBUG(DEB_LEV_PARAMS, "output stream wrapper create pointer is %p\n", temp); 33 | 34 | if (temp == 0) 35 | { 36 | return -1; 37 | } 38 | 39 | *output = temp; 40 | 41 | return 0; 42 | } 43 | 44 | extern "C" int open_output_stream(void *output, int sampleRate, int channels) 45 | { 46 | DEBUG(DEB_LEV_PARAMS, "output stream wrapper open pointer is %p\n", output); 47 | return ((OmxSymbianOutputStream*)output)->Open(sampleRate, channels); 48 | } 49 | 50 | extern "C" int close_output_stream(void *output) 51 | { 52 | ((OmxSymbianOutputStream*)output)->Close(); 53 | 54 | return 0; 55 | } 56 | 57 | extern "C" int write_audio_data(void *output, unsigned char *buffer, int length) 58 | { 59 | return ((OmxSymbianOutputStream*)output)->WriteAudioData(buffer, length); 60 | } 61 | -------------------------------------------------------------------------------- /src/components/components_symbian/inc/BellagioOpenMaxComponent.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/inc/BellagioOpenMaxComponent.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __BELLAGIO_OPENMAX_COMPONENT_H__ 23 | #define __BELLAGIO_OPENMAX_COMPONENT_H__ 24 | 25 | #include //TBool 26 | #include //RLibrary 27 | #include //RLibrary 28 | 29 | #include 30 | #include 31 | 32 | #include "BellagioOpenMaxComponentUid.hrh" 33 | #include "component_loader.h" 34 | 35 | class CBellagioOpenMaxComponent : public CBase 36 | { 37 | public: 38 | static CBellagioOpenMaxComponent* NewL(TUid id, OMX_STRING aComponentName); 39 | virtual ~CBellagioOpenMaxComponent(); 40 | 41 | IMPORT_C void setId(TUid id); 42 | 43 | IMPORT_C BOSA_COMPONENTLOADER * GetLoader(); 44 | IMPORT_C void SetLoader(BOSA_COMPONENTLOADER *pLoader); 45 | 46 | IMPORT_C OMX_COMPONENTTYPE * GetComponent(); 47 | IMPORT_C void SetComponent(OMX_COMPONENTTYPE *pComponent); 48 | 49 | protected: 50 | /* handle to the standard component member of this object */ 51 | OMX_COMPONENTTYPE *component; 52 | /* handle to the loader that loaded this component */ 53 | BOSA_COMPONENTLOADER *loader; 54 | 55 | private: 56 | TUid iDtor_ID_Key; 57 | }; 58 | 59 | #endif // __BEBOP_OPENMAX_COMPONENT_H__ 60 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/src/BellagioOpenMaxOutputStream.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/src/BellagioOpenMaxOutputStream.ccp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxOutputStream.h" 23 | 24 | // The actual implementation header 25 | extern "C" 26 | { 27 | #include "omx_symbianoutputstreamsink_component.h" 28 | } 29 | 30 | CBellagioOpenMaxOutputStream* CBellagioOpenMaxOutputStream::NewL(TAny* aInitParams) 31 | { 32 | CBellagioOpenMaxOutputStream *self = new(ELeave) CBellagioOpenMaxOutputStream; 33 | 34 | self->component = new OMX_COMPONENTTYPE; 35 | 36 | if (!self->component) 37 | { 38 | delete self; 39 | self = 0; 40 | User::Leave(KErrNoMemory); 41 | } 42 | 43 | self->component->pComponentPrivate = 0; 44 | 45 | if (omx_symbianoutputstreamsink_component_Constructor(self->component, (OMX_STRING) aInitParams) != OMX_ErrorNone) 46 | { 47 | delete self; 48 | self = 0; 49 | User::Leave(KErrNoMemory); 50 | } 51 | 52 | return self; 53 | } 54 | 55 | CBellagioOpenMaxOutputStream::~CBellagioOpenMaxOutputStream() 56 | { 57 | if (component != 0) 58 | { 59 | omx_symbianoutputstreamsink_component_Destructor(component); 60 | delete component; 61 | component = 0; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianaudiomixer/group/OmxAudioMixerTest.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | TARGET omxaudiomixertest.exe 21 | TARGETTYPE EXE 22 | UID 0x100039CE 0xF010019F 23 | 24 | CAPABILITY NONE 25 | 26 | VENDORID 0 27 | EPOCHEAPSIZE 500000 10000000 28 | EPOCSTACKSIZE 0x8000 29 | 30 | MACRO SYMBIAN 31 | 32 | SOURCEPATH ..\src 33 | SOURCE omxaudiomixertest.c 34 | 35 | SOURCEPATH ..\..\..\..\..\src 36 | SOURCE tsemaphore.c 37 | 38 | USERINCLUDE ..\inc 39 | 40 | SYSTEMINCLUDE \epoc32\include 41 | SYSTEMINCLUDE \epoc32\include\ecom 42 | SYSTEMINCLUDE \epoc32\include\stdapis 43 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 44 | SYSTEMINCLUDE ..\..\..\..\..\include 45 | SYSTEMINCLUDE ..\..\..\..\..\src 46 | SYSTEMINCLUDE ..\..\..\common 47 | 48 | SOURCEPATH ..\data 49 | 50 | START RESOURCE omxaudiomixertest_reg.rss 51 | #ifdef WINSCW 52 | TARGETPATH \private\10003a3f\apps 53 | #else 54 | TARGETPATH \private\10003a3f\import\apps 55 | #endif 56 | END //RESOURCE 57 | 58 | LIBRARY euser.lib 59 | LIBRARY ecom.lib 60 | 61 | // from mobile runtime 62 | LIBRARY libpthread.lib 63 | LIBRARY libc.lib 64 | LIBRARY libomxil.lib 65 | 66 | STATICLIBRARY libcrt0.lib 67 | 68 | 69 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbiancompnameenum/group/OmxCompNameEnumTest.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | TARGET omxcompnameenumtest.exe 21 | TARGETTYPE EXE 22 | UID 0x100039CE 0xF010020F 23 | 24 | CAPABILITY NONE 25 | 26 | VENDORID 0 27 | EPOCHEAPSIZE 500000 10000000 28 | EPOCSTACKSIZE 0x8000 29 | 30 | MACRO SYMBIAN 31 | 32 | SOURCEPATH ..\src 33 | SOURCE omxcompnameenumtest.c 34 | 35 | SOURCEPATH ..\..\..\..\..\src 36 | SOURCE tsemaphore.c 37 | 38 | USERINCLUDE ..\inc 39 | 40 | SYSTEMINCLUDE \epoc32\include 41 | SYSTEMINCLUDE \epoc32\include\ecom 42 | SYSTEMINCLUDE \epoc32\include\stdapis 43 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 44 | SYSTEMINCLUDE ..\..\..\..\..\include 45 | SYSTEMINCLUDE ..\..\..\..\..\src 46 | SYSTEMINCLUDE ..\..\..\common 47 | 48 | SOURCEPATH ..\data 49 | 50 | START RESOURCE omxcompnameenumtest_reg.rss 51 | #ifdef WINSCW 52 | TARGETPATH \private\10003a3f\apps 53 | #else 54 | TARGETPATH \private\10003a3f\import\apps 55 | #endif 56 | END //RESOURCE 57 | 58 | LIBRARY euser.lib 59 | LIBRARY ecom.lib 60 | 61 | // from mobile runtime 62 | LIBRARY libpthread.lib 63 | LIBRARY libc.lib 64 | LIBRARY libomxil.lib 65 | 66 | STATICLIBRARY libcrt0.lib 67 | 68 | 69 | -------------------------------------------------------------------------------- /test/components/components_symbian/symbianoutputstream/group/OmxSymbianOutputStreamTest.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 3 | 4 | This library is free software; you can redistribute it and/or modify it under 5 | the terms of the GNU Lesser General Public License as published by the Free 6 | Software Foundation; either version 2.1 of the License, or (at your option) 7 | any later version. 8 | 9 | This library is distributed in the hope that it will be useful, but WITHOUT 10 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 11 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 12 | details. 13 | 14 | You should have received a copy of the GNU Lesser General Public License 15 | along with this library; if not, write to the Free Software Foundation, Inc., 16 | 51 Franklin St, Fifth Floor, Boston, MA 17 | 02110-1301 USA 18 | */ 19 | 20 | TARGET omxsymbianoutputstreamtest.exe 21 | TARGETTYPE EXE 22 | UID 0x100039CE 0xF010018F 23 | 24 | CAPABILITY NONE 25 | 26 | VENDORID 0 27 | EPOCHEAPSIZE 500000 10000000 28 | EPOCSTACKSIZE 0x8000 29 | 30 | MACRO SYMBIAN 31 | 32 | SOURCEPATH ..\src 33 | SOURCE omxsymbianoutputstreamtest.c 34 | 35 | SOURCEPATH ..\..\..\..\..\src 36 | SOURCE tsemaphore.c 37 | 38 | USERINCLUDE ..\inc 39 | 40 | SYSTEMINCLUDE \epoc32\include 41 | SYSTEMINCLUDE \epoc32\include\ecom 42 | SYSTEMINCLUDE \epoc32\include\stdapis 43 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 44 | SYSTEMINCLUDE ..\..\..\..\..\include 45 | SYSTEMINCLUDE ..\..\..\..\..\src 46 | 47 | SOURCEPATH ..\data 48 | 49 | START RESOURCE omxsymbianoutputstreamtest_reg.rss 50 | #ifdef WINSCW 51 | TARGETPATH \private\10003a3f\apps 52 | #else 53 | TARGETPATH \private\10003a3f\import\apps 54 | #endif 55 | END //RESOURCE 56 | 57 | LIBRARY euser.lib 58 | LIBRARY ecom.lib 59 | 60 | // from mobile runtime 61 | LIBRARY libpthread.lib 62 | LIBRARY libc.lib 63 | LIBRARY libomxil.lib 64 | 65 | STATICLIBRARY libcrt0.lib 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/src/omx_create_loaders_symbian.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/omx_create_loaders_symbian.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "omx_create_loaders.h" 23 | 24 | extern "C" 25 | { 26 | #include "omxcore.h" 27 | } 28 | 29 | #include "BellagioOpenMaxLoader.h" 30 | 31 | #include 32 | #include 33 | 34 | int 35 | createComponentLoaders() 36 | { 37 | RImplInfoPtrArray pluginInfos; 38 | CBellagioOpenMaxLoader *nrcLoader = NULL; 39 | 40 | /* We are looking for Bellagio loaders */ 41 | TUid InterfaceUid = {KUidBellagioOpenMaxLoader}; 42 | 43 | TRAPD(r, REComSession::ListImplementationsL(InterfaceUid, pluginInfos)); 44 | if (r != KErrNone) 45 | { 46 | return OMX_ErrorComponentNotFound; 47 | } 48 | 49 | TInt count = pluginInfos.Count(); 50 | 51 | if (count < 1) 52 | { 53 | return OMX_ErrorComponentNotFound; 54 | } 55 | 56 | /* Create all possible loaders */ 57 | for (TInt index = 0; index < count; index++) 58 | { 59 | /* Create the actual ecom plugin loader and set up the function pointers*/ 60 | TRAP(r, nrcLoader = CBellagioOpenMaxLoader::NewL(pluginInfos[index]->ImplementationUid())); 61 | 62 | /* add loader to core */ 63 | BOSA_AddComponentLoader(nrcLoader->GetLoader()); 64 | } 65 | 66 | return 0; 67 | } 68 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/src/BellagioOpenMaxVolumeImplFactory.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/src/BellagioOpenMaxVolumeImplFactory.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxVolume.h" 23 | #include "BellagioOpenMaxVolumeImplUid.hrh" 24 | #include 25 | 26 | // ----------------------------------------------------------------------------- 27 | // DLL Entry point 28 | // ----------------------------------------------------------------------------- 29 | // 30 | TBool E32Dll() 31 | { 32 | return ETrue; 33 | } 34 | 35 | // ----------------------------------------------------------------------------- 36 | // Exported proxy for instantiation method resolution 37 | // Define the interface UIDs 38 | // ----------------------------------------------------------------------------- 39 | // 40 | const TImplementationProxy ImplementationTable[] = 41 | { 42 | IMPLEMENTATION_PROXY_ENTRY(KImplUidBellagioOpenMaxVolume, CBellagioOpenMaxVolume::NewL)}; 43 | 44 | // ----------------------------------------------------------------------------- 45 | // ImplementationGroupProxy() 46 | // ----------------------------------------------------------------------------- 47 | // 48 | EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) 49 | { 50 | aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); 51 | return ImplementationTable; 52 | } 53 | -------------------------------------------------------------------------------- /src/components/components_symbian/src/BellagioOpenMaxComponent.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/src/BellagioOpenMaxComponent.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxComponent.h" 23 | 24 | CBellagioOpenMaxComponent* 25 | CBellagioOpenMaxComponent::NewL(TUid id, OMX_STRING aComponentName) 26 | { 27 | TUid id_key; 28 | 29 | TAny *ptr = REComSession::CreateImplementationL(id, id_key, REINTERPRET_CAST(TAny*, aComponentName)); 30 | 31 | if (!ptr) 32 | { 33 | User::Leave(KErrNoMemory); 34 | } 35 | 36 | CBellagioOpenMaxComponent* nrcComponent = REINTERPRET_CAST(CBellagioOpenMaxComponent*, ptr); 37 | 38 | nrcComponent->setId(id_key); 39 | 40 | return nrcComponent; 41 | } 42 | 43 | CBellagioOpenMaxComponent::~CBellagioOpenMaxComponent() 44 | { 45 | REComSession::DestroyedImplementation(iDtor_ID_Key); 46 | } 47 | 48 | EXPORT_C void 49 | CBellagioOpenMaxComponent::setId(TUid id) 50 | { 51 | iDtor_ID_Key = id; 52 | } 53 | 54 | EXPORT_C BOSA_COMPONENTLOADER * 55 | CBellagioOpenMaxComponent::GetLoader() 56 | { 57 | return loader; 58 | } 59 | 60 | EXPORT_C void 61 | CBellagioOpenMaxComponent::SetLoader(BOSA_COMPONENTLOADER *pLoader) 62 | { 63 | loader = pLoader; 64 | } 65 | 66 | EXPORT_C OMX_COMPONENTTYPE * 67 | CBellagioOpenMaxComponent::GetComponent() 68 | { 69 | return component; 70 | } 71 | 72 | EXPORT_C void 73 | CBellagioOpenMaxComponent::SetComponent(OMX_COMPONENTTYPE *pComponent) 74 | { 75 | component = pComponent; 76 | } 77 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/src/BellagioOpenMaxAudioMixerImplFactory.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/audiomixer/src/BellagioOpenMaxAudioMixerImplFactory.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxAudioMixer.h" 23 | #include "BellagioOpenMaxAudioMixerImplUid.hrh" 24 | #include 25 | 26 | // ----------------------------------------------------------------------------- 27 | // DLL Entry point 28 | // ----------------------------------------------------------------------------- 29 | // 30 | TBool E32Dll() 31 | { 32 | return ETrue; 33 | } 34 | 35 | // ----------------------------------------------------------------------------- 36 | // Exported proxy for instantiation method resolution 37 | // Define the interface UIDs 38 | // ----------------------------------------------------------------------------- 39 | // 40 | const TImplementationProxy ImplementationTable[] = 41 | { 42 | IMPLEMENTATION_PROXY_ENTRY(KImplUidBellagioOpenMaxAudioMixer, CBellagioOpenMaxAudioMixer::NewL)}; 43 | 44 | // ----------------------------------------------------------------------------- 45 | // ImplementationGroupProxy() 46 | // ----------------------------------------------------------------------------- 47 | // 48 | EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) 49 | { 50 | aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); 51 | return ImplementationTable; 52 | } 53 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/src/BellagioOpenMaxSymbianLoaderImplFactory.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/symbianloader/src/BellagioOpenMaxSymbianLoaderImplFactory.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxSymbianLoader.h" 23 | #include "BellagioOpenMaxSymbianLoaderImplUid.hrh" 24 | #include 25 | 26 | // ----------------------------------------------------------------------------- 27 | // DLL Entry point 28 | // ----------------------------------------------------------------------------- 29 | // 30 | TBool E32Dll() 31 | { 32 | return ETrue; 33 | } 34 | 35 | // ----------------------------------------------------------------------------- 36 | // Exported proxy for instantiation method resolution 37 | // Define the interface UIDs 38 | // ----------------------------------------------------------------------------- 39 | // 40 | const TImplementationProxy ImplementationTable[] = 41 | { 42 | IMPLEMENTATION_PROXY_ENTRY(KImplUidBellagioOpenMaxSymbianLoader, CBellagioOpenMaxSymbianLoader::NewL)}; 43 | 44 | // ----------------------------------------------------------------------------- 45 | // ImplementationGroupProxy() 46 | // ----------------------------------------------------------------------------- 47 | // 48 | EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) 49 | { 50 | aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); 51 | return ImplementationTable; 52 | } 53 | -------------------------------------------------------------------------------- /group/libomxil.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | @file group/libomxil.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET libomxil.dll 23 | 24 | TARGETTYPE dll 25 | 26 | EPOCALLOWDLLDATA 27 | 28 | UID 0x1000008d 0xF01F8655 29 | 30 | CAPABILITY NONE 31 | VENDORID 0 32 | 33 | // for mobile run time 34 | MACRO SYMBIAN 35 | 36 | // for OpenMAX exports 37 | MACRO __OMX_EXPORTS 38 | 39 | SOURCEPATH ..\src 40 | SOURCE omxcore.c 41 | SOURCE queue.c 42 | SOURCE tsemaphore.c 43 | 44 | SOURCEPATH ..\src\loaders\loaders_symbian\src 45 | SOURCE BellagioOpenMaxLoader.cpp 46 | 47 | SOURCEPATH ..\src\loaders\loaders_symbian\src 48 | SOURCE omx_create_loaders_symbian.cpp 49 | 50 | SOURCEPATH ..\src\base 51 | SOURCE omx_base_port.c 52 | SOURCE omx_base_filter.c 53 | SOURCE omx_base_sink.c 54 | SOURCE omx_base_component.c 55 | 56 | USERINCLUDE ..\src 57 | USERINCLUDE ..\src\loaders\loaders_symbian\inc 58 | 59 | SYSTEMINCLUDE ..\include 60 | SYSTEMINCLUDE ..\src 61 | SYSTEMINCLUDE ..\src\base 62 | SYSTEMINCLUDE \epoc32\include 63 | SYSTEMINCLUDE \epoc32\include\ecom 64 | SYSTEMINCLUDE \epoc32\include\stdapis 65 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 66 | 67 | LIBRARY euser.lib 68 | LIBRARY ecom.lib 69 | LIBRARY charconv.lib 70 | 71 | // from mobile runtime 72 | LIBRARY libpthread.lib 73 | LIBRARY libc.lib 74 | 75 | EXPORTUNFROZEN 76 | 77 | // End of File 78 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/src/BellagioOpenMaxOutputStreamImplFactory.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/src/BellagioOpenMaxOutputStreamImplFactory.cpp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #include "BellagioOpenMaxOutputStream.h" 23 | #include "BellagioOpenMaxOutputStreamImplUid.hrh" 24 | #include 25 | 26 | // ----------------------------------------------------------------------------- 27 | // DLL Entry point 28 | // ----------------------------------------------------------------------------- 29 | // 30 | TBool E32Dll() 31 | { 32 | return ETrue; 33 | } 34 | 35 | // ----------------------------------------------------------------------------- 36 | // Exported proxy for instantiation method resolution 37 | // Define the interface UIDs 38 | // ----------------------------------------------------------------------------- 39 | // 40 | const TImplementationProxy ImplementationTable[] = 41 | { 42 | IMPLEMENTATION_PROXY_ENTRY(KImplUidBellagioOpenMaxOutputStream, CBellagioOpenMaxOutputStream::NewL) 43 | }; 44 | 45 | // ----------------------------------------------------------------------------- 46 | // ImplementationGroupProxy() 47 | // ----------------------------------------------------------------------------- 48 | // 49 | EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) 50 | { 51 | aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy); 52 | return ImplementationTable; 53 | } 54 | -------------------------------------------------------------------------------- /src/components/jpeg/libjpeg-6c/jcinit.c: -------------------------------------------------------------------------------- 1 | /* 2 | * jcinit.c 3 | * 4 | * Copyright (C) 1991-1997, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains initialization logic for the JPEG compressor. 9 | * This routine is in charge of selecting the modules to be executed and 10 | * making an initialization call to each one. 11 | * 12 | * Logically, this code belongs in jcmaster.c. It's split out because 13 | * linking this routine implies linking the entire compression library. 14 | * For a transcoding-only application, we want to be able to use jcmaster.c 15 | * without linking in the whole library. 16 | */ 17 | 18 | #define JPEG_INTERNALS 19 | #include "jinclude.h" 20 | #include "jpeglib.h" 21 | 22 | 23 | /* 24 | * Master selection of compression modules. 25 | * This is done once at the start of processing an image. We determine 26 | * which modules will be used and give them appropriate initialization calls. 27 | */ 28 | 29 | GLOBAL(void) 30 | jinit_compress_master (j_compress_ptr cinfo) 31 | { 32 | /* Initialize master control (includes parameter checking/processing) */ 33 | jinit_c_master_control(cinfo, FALSE /* full compression */); 34 | 35 | /* Preprocessing */ 36 | if (! cinfo->raw_data_in) { 37 | jinit_color_converter(cinfo); 38 | jinit_downsampler(cinfo); 39 | jinit_c_prep_controller(cinfo, FALSE /* never need full buffer here */); 40 | } 41 | /* Forward DCT */ 42 | jinit_forward_dct(cinfo); 43 | /* Entropy encoding: either Huffman or arithmetic coding. */ 44 | if (cinfo->arith_code) 45 | jinit_arith_encoder(cinfo); 46 | else { 47 | jinit_huff_encoder(cinfo); 48 | } 49 | 50 | /* Need a full-image coefficient buffer in any multi-pass mode. */ 51 | jinit_c_coef_controller(cinfo, 52 | (boolean) (cinfo->num_scans > 1 || cinfo->optimize_coding)); 53 | jinit_c_main_controller(cinfo, FALSE /* never need full buffer here */); 54 | 55 | jinit_marker_writer(cinfo); 56 | 57 | /* We can now tell the memory manager to allocate virtual arrays. */ 58 | (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); 59 | 60 | /* Write the datastream header (SOI) immediately. 61 | * Frame and scan headers are postponed till later. 62 | * This lets application insert special markers after the SOI. 63 | */ 64 | (*cinfo->marker->write_file_header) (cinfo); 65 | } 66 | -------------------------------------------------------------------------------- /src/components/jpeg/libjpeg-6c/Makefile.am: -------------------------------------------------------------------------------- 1 | bin_PROGRAMS = cjpeg djpeg jpegtran rdjpgcom wrjpgcom 2 | #djpeg 3 | 4 | cjpeg_SOURCES = cjpeg.c rdppm.c rdgif.c rdtarga.c rdbmp.c rdrle.c rdswitch.c cdjpeg.c \ 5 | cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 6 | cjpeg_LDADD = libjpeg.la 7 | 8 | djpeg_SOURCES = djpeg.c wrppm.c wrgif.c wrtarga.c wrbmp.c wrrle.c rdcolmap.c cdjpeg.c \ 9 | cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 10 | djpeg_LDADD = libjpeg.la 11 | 12 | jpegtran_SOURCES = jpegtran.c transupp.c cdjpeg.c rdswitch.c \ 13 | cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 14 | jpegtran_LDADD = libjpeg.la 15 | 16 | rdjpgcom_SOURCES = rdjpgcom.c 17 | #cjpeg.c rdppm.c cdjpeg.c wrppm.c rdgif.c wrgif.c rdtarga.c wrtarga.c rdbmp.c rdswitch.c 18 | # cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 19 | rdjpgcom_LDADD = 20 | 21 | wrjpgcom_SOURCES = wrjpgcom.c 22 | #cjpeg.c rdppm.c cdjpeg.c wrppm.c rdgif.c wrgif.c rdtarga.c wrtarga.c rdbmp.c rdswitch.c 23 | # cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h 24 | wrjpgcom_LDADD = 25 | 26 | LIBSOURCES= jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c \ 27 | jchuff.c jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c \ 28 | jcparam.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \ 29 | jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \ 30 | jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdpostct.c \ 31 | jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c jfdctint.c \ 32 | jidctflt.c jidctfst.c jidctint.c jquant1.c jquant2.c \ 33 | jutils.c jmemmgr.c jaricom.c jcarith.c jdarith.c 34 | # memmgr back ends: compile only one of these into a working library 35 | SYSDEPSOURCES= jmemansi.c 36 | #jmemname.c jmemnobs.c jmemdos.c jmemmac.c 37 | # source files: cjpeg/djpeg/jpegtran applications, also rdjpgcom/wrjpgcom 38 | APPSOURCES= cjpeg.c djpeg.c jpegtran.c rdjpgcom.c wrjpgcom.c cdjpeg.c \ 39 | rdcolmap.c rdswitch.c transupp.c rdppm.c wrppm.c rdgif.c wrgif.c \ 40 | rdtarga.c wrtarga.c rdbmp.c wrbmp.c rdrle.c wrrle.c 41 | 42 | lib_LTLIBRARIES = libjpeg.la 43 | 44 | libjpeg_la_SOURCES = $(LIBSOURCES) $(SYSDEPSOURCES) 45 | 46 | include_extradir = $(includedir) 47 | 48 | include_extra_HEADERS = jconfig.h jpeglib.h jmorecfg.h jerror.h \ 49 | jpegint.h jdct.h jversion.h jmemsys.h \ 50 | transupp.h 51 | -------------------------------------------------------------------------------- /src/tsemaphore.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/tsemaphore.h 3 | 4 | Implements a simple inter-thread semaphore so not to have to deal with IPC 5 | creation and the like. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | 29 | */ 30 | 31 | #ifndef __TSEMAPHORE_H__ 32 | #define __TSEMAPHORE_H__ 33 | 34 | /** The structure contains the semaphore value, mutex and green light flag 35 | */ 36 | typedef struct tsem_t{ 37 | pthread_cond_t condition; 38 | pthread_mutex_t mutex; 39 | unsigned int semval; 40 | }tsem_t; 41 | 42 | /** Initializes the semaphore at a given value 43 | * 44 | * @param tsem the semaphore to initialize 45 | * 46 | * @param val the initial value of the semaphore 47 | */ 48 | void tsem_init(tsem_t* tsem, unsigned int val); 49 | 50 | /** Destroy the semaphore 51 | * 52 | * @param tsem the semaphore to destroy 53 | */ 54 | void tsem_deinit(tsem_t* tsem); 55 | 56 | /** Decreases the value of the semaphore. Blocks if the semaphore 57 | * value is zero. 58 | * 59 | * @param tsem the semaphore to decrease 60 | */ 61 | void tsem_down(tsem_t* tsem); 62 | 63 | /** Increases the value of the semaphore 64 | * 65 | * @param tsem the semaphore to increase 66 | */ 67 | void tsem_up(tsem_t* tsem); 68 | 69 | /** Reset the value of the semaphore 70 | * 71 | * @param tsem the semaphore to reset 72 | */ 73 | void tsem_reset(tsem_t* tsem); 74 | 75 | /** Wait on the condition. 76 | * 77 | * @param tsem the semaphore to wait 78 | */ 79 | void tsem_wait(tsem_t* tsem); 80 | 81 | /** Signal the condition,if waiting 82 | * 83 | * @param tsem the semaphore to signal 84 | */ 85 | void tsem_signal(tsem_t* tsem); 86 | 87 | #endif 88 | -------------------------------------------------------------------------------- /test/components/common/tsemaphore.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/tsemaphore.h 3 | 4 | Implements a simple inter-thread semaphore so as not to have to deal with IPC 5 | creation and the like. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | 29 | */ 30 | 31 | #ifndef __TSEMAPHORE_H__ 32 | #define __TSEMAPHORE_H__ 33 | 34 | /** The structure contains the semaphore value, mutex and green light flag 35 | */ 36 | typedef struct tsem_t{ 37 | pthread_cond_t condition; 38 | pthread_mutex_t mutex; 39 | unsigned int semval; 40 | }tsem_t; 41 | 42 | /** Initializes the semaphore at a given value 43 | * 44 | * @param tsem the semaphore to initialize 45 | * 46 | * @param val the initial value of the semaphore 47 | */ 48 | void tsem_init(tsem_t* tsem, unsigned int val); 49 | 50 | /** Destroy the semaphore 51 | * 52 | * @param tsem the semaphore to destroy 53 | */ 54 | void tsem_deinit(tsem_t* tsem); 55 | 56 | /** Decreases the value of the semaphore. Blocks if the semaphore 57 | * value is zero. 58 | * 59 | * @param tsem the semaphore to decrease 60 | */ 61 | void tsem_down(tsem_t* tsem); 62 | 63 | /** Increases the value of the semaphore 64 | * 65 | * @param tsem the semaphore to increase 66 | */ 67 | void tsem_up(tsem_t* tsem); 68 | 69 | /** Reset the value of the semaphore 70 | * 71 | * @param tsem the semaphore to reset 72 | */ 73 | void tsem_reset(tsem_t* tsem); 74 | 75 | /** Wait on the condition. 76 | * 77 | * @param tsem the semaphore to wait 78 | */ 79 | void tsem_wait(tsem_t* tsem); 80 | 81 | /** Signal the condition,if waiting 82 | * 83 | * @param tsem the semaphore to signal 84 | */ 85 | void tsem_signal(tsem_t* tsem); 86 | 87 | #endif 88 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/group/BellagioOpenMaxSymbianLoader.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/loader_symbian/symbianecomloader/group/BellagioOpenMaxSymbianLoader.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET bellagioopenmaxsymbianloader.dll 23 | TARGETTYPE PLUGIN 24 | 25 | EPOCALLOWDLLDATA 26 | 27 | UID 0x10009D8D 0xF01F0033 28 | 29 | CAPABILITY NONE 30 | VENDORID 0 31 | 32 | // for mobile run time 33 | MACRO SYMBIAN 34 | 35 | SOURCEPATH ..\src 36 | SOURCE BellagioOpenMaxSymbianLoader.cpp 37 | SOURCE nrc_symbian_component_loader.cpp 38 | SOURCE BellagioOpenMaxSymbianLoaderImplFactory.cpp 39 | 40 | SOURCEPATH ..\..\src 41 | SOURCE BellagioOpenMaxLoader.cpp 42 | 43 | SOURCEPATH ..\..\..\..\components\components_symbian\src 44 | SOURCE BellagioOpenMaxComponent.cpp 45 | 46 | USERINCLUDE ..\inc 47 | USERINCLUDE ..\..\inc 48 | USERINCLUDE ..\..\..\..\.. 49 | USERINCLUDE ..\..\..\.. 50 | USERINCLUDE ..\..\..\..\base 51 | USERINCLUDE ..\..\..\..\components\components_symbian\inc 52 | 53 | SYSTEMINCLUDE \epoc32\include 54 | SYSTEMINCLUDE \epoc32\include\ecom 55 | SYSTEMINCLUDE \epoc32\include\stdapis 56 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 57 | SYSTEMINCLUDE ..\..\..\..\..\include 58 | SYSTEMINCLUDE ..\..\..\..\..\src 59 | 60 | SOURCEPATH .. 61 | 62 | START RESOURCE data\F01F0033.rss 63 | #ifdef SYMBIAN_SECURE_ECOM 64 | TARGET BellagioOpenMaxSymbianLoader.rsc 65 | #endif 66 | END 67 | 68 | LIBRARY euser.lib 69 | LIBRARY ecom.lib 70 | 71 | // for descriptor conversions 72 | LIBRARY charconv.lib 73 | 74 | // from mobile runtime 75 | LIBRARY libpthread.lib 76 | LIBRARY libc.lib 77 | -------------------------------------------------------------------------------- /src/omx_comp_debug_levels.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/omx_comp_debug_levels.h 3 | 4 | Define the level of debug prints on standard err. The different levels can 5 | be composed with binary OR. 6 | The debug levels defined here belong to OpenMAX components and IL core 7 | 8 | Copyright (C) 2007-2008 STMicroelectronics 9 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 24 | 02110-1301 USA 25 | 26 | $Date$ 27 | Revision $Rev$ 28 | Author $Author$ 29 | 30 | */ 31 | 32 | #ifndef __OMX_COMP_DEBUG_LEVELS_H__ 33 | #define __OMX_COMP_DEBUG_LEVELS_H__ 34 | 35 | #include 36 | 37 | /** Remove all debug output lines 38 | */ 39 | #define DEB_LEV_NO_OUTPUT 0 40 | 41 | /** Messages explaing the reason of critical errors 42 | */ 43 | #define DEB_LEV_ERR 1 44 | 45 | /** Messages showing values related to the test and the component/s used 46 | */ 47 | #define DEB_LEV_PARAMS 2 48 | 49 | /** Messages representing steps in the execution. These are the simple messages, because 50 | * they avoid iterations 51 | */ 52 | #define DEB_LEV_SIMPLE_SEQ 4 53 | 54 | /** Messages representing steps in the execution. All the steps are described, 55 | * also with iterations. With this level of output the performances are 56 | * seriously compromised 57 | */ 58 | #define DEB_LEV_FULL_SEQ 8 59 | 60 | /** Messages that indicates the beginning and the end of a function. 61 | * It can be used to trace the execution 62 | */ 63 | #define DEB_LEV_FUNCTION_NAME 16 64 | 65 | /** All the messages - max value 66 | */ 67 | #define DEB_ALL_MESS 255 68 | 69 | /** \def DEBUG_LEVEL is the current level do debug output on standard err */ 70 | #define DEBUG_LEVEL (DEB_LEV_ERR) 71 | #if DEBUG_LEVEL > 0 72 | #define DEBUG(n, fmt, args...) do { if (DEBUG_LEVEL & (n)){fprintf(stderr, "OMX-" fmt, ##args);} } while (0) 73 | #else 74 | #define DEBUG(n, fmt, args...) 75 | #endif 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /test/components/common/user_debug_levels.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/common/user_debug_levels.h 3 | 4 | Define the level of debug prints on standard err. The different levels can 5 | be composed with binary OR. 6 | The debug levels defined here belong to the test applications 7 | 8 | Copyright (C) 2007-2008 STMicroelectronics 9 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 24 | 02110-1301 USA 25 | 26 | $Date$ 27 | Revision $Rev$ 28 | Author $Author$ 29 | 30 | */ 31 | 32 | 33 | /** Remove all debug output lines 34 | */ 35 | #define DEB_LEV_NO_OUTPUT 0 36 | /** Messages explaing the reason of critical errors 37 | */ 38 | #define DEB_LEV_ERR 1 39 | /** Messages showing values related to the test and the component/s used 40 | */ 41 | #define DEB_LEV_PARAMS 2 42 | /** Messages representing steps in the execution. These are the simple messages, because 43 | * they avoid iterations 44 | */ 45 | #define DEB_LEV_SIMPLE_SEQ 4 46 | /** Messages representing steps in the execution. All the steps are described, 47 | * also with iterations. With this level of output the performance is 48 | * seriously compromised 49 | */ 50 | #define DEB_LEV_FULL_SEQ 8 51 | /** Messages that indicate the beginning and the end of a function. 52 | * It can be used to trace the execution 53 | */ 54 | #define DEB_LEV_FUNCTION_NAME 16 55 | 56 | /** Messages that are the default test application output. These message should be 57 | * shown every time 58 | */ 59 | #define DEFAULT_MESSAGES 32 60 | 61 | /** All the messages - max value 62 | */ 63 | #define DEB_ALL_MESS 255 64 | 65 | 66 | /** \def DEBUG_LEVEL is the current level do debug output on standard err */ 67 | #define DEBUG_LEVEL (DEB_LEV_ERR | DEFAULT_MESSAGES) 68 | #if DEBUG_LEVEL > 0 69 | #define DEBUG(n, args...) do { if (DEBUG_LEVEL & (n)){fprintf(stderr, args);} } while (0) 70 | #else 71 | #define DEBUG(n, args...) 72 | #endif 73 | 74 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/inc/nrc_symbian_component_loader.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/loaders_symbian/symbianecomloader/inc/nrc_symbian_component_loader.h 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | #ifndef __NRC_SYMBIAN_COMPONENT_LOADER_H__ 23 | #define __NRC_SYMBIAN_COMPONENT_LOADER_H__ 24 | 25 | #include 26 | #include 27 | 28 | #ifdef __cplusplus 29 | extern "C" { 30 | #endif /* __cplusplus */ 31 | 32 | #include "omxcore.h" 33 | 34 | void 35 | setup_component_loader(BOSA_COMPONENTLOADER* loader); 36 | 37 | OMX_ERRORTYPE 38 | BOSA_NRC_SYMBIAN_InitComponentLoader(BOSA_COMPONENTLOADER *loader); 39 | 40 | OMX_ERRORTYPE 41 | BOSA_NRC_SYMBIAN_DeInitComponentLoader(BOSA_COMPONENTLOADER *loader); 42 | 43 | OMX_ERRORTYPE 44 | BOSA_NRC_SYMBIAN_CreateComponent(BOSA_COMPONENTLOADER *loader, 45 | OMX_OUT OMX_HANDLETYPE* pHandle, 46 | OMX_IN OMX_STRING cComponentName, 47 | OMX_IN OMX_PTR pAppData, 48 | OMX_IN OMX_CALLBACKTYPE* pCallBacks); 49 | 50 | OMX_ERRORTYPE 51 | BOSA_NRC_SYMBIAN_DestroyComponent(BOSA_COMPONENTLOADER *loader, 52 | OMX_HANDLETYPE hComponent); 53 | 54 | OMX_ERRORTYPE 55 | BOSA_NRC_SYMBIAN_ComponentNameEnum(BOSA_COMPONENTLOADER *loader, 56 | OMX_STRING cComponentName, 57 | OMX_U32 nNameLength, 58 | OMX_U32 nIndex); 59 | 60 | OMX_ERRORTYPE 61 | BOSA_NRC_SYMBIAN_GetRolesOfComponent(BOSA_COMPONENTLOADER *loader, 62 | OMX_STRING compName, 63 | OMX_U32 *pNumRoles, 64 | OMX_U8 **roles); 65 | 66 | OMX_API OMX_ERRORTYPE 67 | BOSA_NRC_SYMBIAN_GetComponentsOfRole(BOSA_COMPONENTLOADER *loader, 68 | OMX_STRING role, 69 | OMX_U32 *pNumComps, 70 | OMX_U8 **compNames); 71 | 72 | #ifdef __cplusplus 73 | } 74 | #endif /* __cplusplus */ 75 | 76 | #endif /* __NRC_SYMBIAN_COMPONENT_LOADER_H__ */ 77 | -------------------------------------------------------------------------------- /test/components/video/omxvideocapturetest.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/video/omxvideocapturetest.h 3 | 4 | Test application that uses a OpenMAX component, a generic video videosrc. 5 | The application receives an video stream (.yuv) captured using a camera. 6 | The capture picture is then stored into a file, which can be seen by a yuv viewer. 7 | 8 | Copyright (C) 2007-2008 STMicroelectronics 9 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 24 | 02110-1301 USA 25 | 26 | $Date: 2008-02-13 16:34:49 +0100 (Wed, 13 Feb 2008) $ 27 | Revision $Rev: 1304 $ 28 | Author $Author: giulio_urlini $ 29 | */ 30 | 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | 39 | #include 40 | #include 41 | #include 42 | #include 43 | 44 | #include 45 | #include 46 | 47 | /* Application's private data */ 48 | typedef struct appPrivateType{ 49 | tsem_t* videosrcEventSem; 50 | tsem_t* eofSem; 51 | OMX_HANDLETYPE videosrchandle; 52 | }appPrivateType; 53 | 54 | /** Specification version*/ 55 | #define VERSIONMAJOR 1 56 | #define VERSIONMINOR 1 57 | #define VERSIONREVISION 0 58 | #define VERSIONSTEP 0 59 | 60 | /* Callback prototypes for video source */ 61 | OMX_ERRORTYPE videosrcEventHandler( 62 | OMX_OUT OMX_HANDLETYPE hComponent, 63 | OMX_OUT OMX_PTR pAppData, 64 | OMX_OUT OMX_EVENTTYPE eEvent, 65 | OMX_OUT OMX_U32 Data1, 66 | OMX_OUT OMX_U32 Data2, 67 | OMX_OUT OMX_PTR pEventData); 68 | 69 | OMX_ERRORTYPE videosrcFillBufferDone( 70 | OMX_OUT OMX_HANDLETYPE hComponent, 71 | OMX_OUT OMX_PTR pAppData, 72 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 73 | 74 | /** function prototype declaration */ 75 | 76 | /** display general help */ 77 | void display_help(); 78 | 79 | 80 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/group/BellagioOpenMaxVolume.mmp.bak: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/group/BellagioOpenMaxVolume.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET bellagioopenmaxvolume.dll 23 | TARGETTYPE PLUGIN 24 | 25 | EPOCALLOWDLLDATA 26 | 27 | UID 0x10009D8D 0xF01F0011 28 | 29 | CAPABILITY NONE 30 | VENDORID 0 31 | 32 | MACRO SYMBIAN 33 | 34 | SOURCEPATH ..\src 35 | SOURCE BellagioOpenMaxVolumeImplFactory.cpp 36 | SOURCE BellagioOpenMaxVolume.cpp 37 | 38 | SOURCEPATH ..\..\src 39 | SOURCE BellagioOpenMaxComponent.cpp 40 | 41 | SOURCEPATH ..\..\..\audio_effects 42 | SOURCE omx_volume_component.c 43 | 44 | SOURCEPATH ..\..\..\..\base 45 | SOURCE omx_base_component.c 46 | SOURCE omx_base_filter.c 47 | SOURCE omx_base_port.c 48 | 49 | SOURCEPATH ..\..\..\.. 50 | SOURCE queue.c 51 | SOURCE tsemaphore.c 52 | 53 | USERINCLUDE . 54 | USERINCLUDE ..\inc 55 | USERINCLUDE ..\..\inc 56 | USERINCLUDE ..\..\.. 57 | USERINCLUDE ..\..\..\audio_effects 58 | USERINCLUDE ..\..\..\..\..\src 59 | 60 | SYSTEMINCLUDE \epoc32\include 61 | SYSTEMINCLUDE \epoc32\include\ecom 62 | SYSTEMINCLUDE \epoc32\include\stdapis 63 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 64 | SYSTEMINCLUDE ..\..\..\..\..\include 65 | SYSTEMINCLUDE ..\..\..\..\..\src 66 | SYSTEMINCLUDE ..\..\..\audio_effects 67 | SYSTEMINCLUDE ..\..\..\..\base 68 | 69 | START RESOURCE components\components_symbian\volume\data\F01F0011.rss 70 | #ifdef SYMBIAN_SECURE_ECOM 71 | TARGET BellagioOpenMaxVolume.rsc 72 | #endif 73 | END 74 | 75 | LIBRARY euser.lib 76 | LIBRARY ecom.lib 77 | 78 | // from mobile runtime 79 | LIBRARY libpthread.lib 80 | LIBRARY libc.lib 81 | -------------------------------------------------------------------------------- /src/components/components_symbian/volume/group/BellagioOpenMaxVolume.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/volume/group/BellagioOpenMaxVolume.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET bellagioopenmaxvolume.dll 23 | TARGETTYPE PLUGIN 24 | 25 | EPOCALLOWDLLDATA 26 | 27 | UID 0x10009D8D 0xF01F0055 28 | 29 | CAPABILITY NONE 30 | VENDORID 0 31 | 32 | MACRO SYMBIAN 33 | 34 | SOURCEPATH ..\src 35 | SOURCE BellagioOpenMaxVolumeImplFactory.cpp 36 | SOURCE BellagioOpenMaxVolume.cpp 37 | 38 | SOURCEPATH ..\..\src 39 | SOURCE BellagioOpenMaxComponent.cpp 40 | 41 | SOURCEPATH ..\..\..\audio_effects 42 | SOURCE omx_volume_component.c 43 | 44 | SOURCEPATH ..\..\..\..\base 45 | SOURCE omx_base_component.c 46 | SOURCE omx_base_filter.c 47 | SOURCE omx_base_port.c 48 | SOURCE omx_base_audio_port.c 49 | 50 | SOURCEPATH ..\..\..\.. 51 | SOURCE queue.c 52 | SOURCE tsemaphore.c 53 | 54 | USERINCLUDE . 55 | USERINCLUDE ..\inc 56 | USERINCLUDE ..\..\inc 57 | USERINCLUDE ..\..\.. 58 | USERINCLUDE ..\..\..\audio_effects 59 | USERINCLUDE ..\..\..\..\..\src 60 | 61 | SYSTEMINCLUDE \epoc32\include 62 | SYSTEMINCLUDE \epoc32\include\ecom 63 | SYSTEMINCLUDE \epoc32\include\stdapis 64 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 65 | SYSTEMINCLUDE ..\..\..\..\..\include 66 | SYSTEMINCLUDE ..\..\..\..\..\src 67 | SYSTEMINCLUDE ..\..\..\audio_effects 68 | SYSTEMINCLUDE ..\..\..\..\base 69 | 70 | START RESOURCE components\components_symbian\volume\data\F01F0055.rss 71 | #ifdef SYMBIAN_SECURE_ECOM 72 | TARGET BellagioOpenMaxVolume.rsc 73 | #endif 74 | END 75 | 76 | LIBRARY euser.lib 77 | LIBRARY ecom.lib 78 | 79 | // from mobile runtime 80 | LIBRARY libpthread.lib 81 | LIBRARY libc.lib 82 | -------------------------------------------------------------------------------- /src/components/components_symbian/audiomixer/group/BellagioOpenMaxAudioMixer.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/audiomixer/group/BellagioOpenMaxAudioMixer.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET bellagioopenmaxaudiomixer.dll 23 | TARGETTYPE PLUGIN 24 | 25 | EPOCALLOWDLLDATA 26 | 27 | UID 0x10009D8D 0xF01F0015 28 | 29 | CAPABILITY NONE 30 | VENDORID 0 31 | 32 | MACRO SYMBIAN 33 | 34 | SOURCEPATH ..\src 35 | SOURCE BellagioOpenMaxAudioMixerImplFactory.cpp 36 | SOURCE BellagioOpenMaxAudioMixer.cpp 37 | 38 | SOURCEPATH ..\..\src 39 | SOURCE BellagioOpenMaxComponent.cpp 40 | 41 | SOURCEPATH ..\..\..\audio_effects 42 | SOURCE omx_audiomixer_component.c 43 | 44 | SOURCEPATH ..\..\..\..\base 45 | SOURCE omx_base_component.c 46 | SOURCE omx_base_filter.c 47 | SOURCE omx_base_port.c 48 | SOURCE omx_base_audio_port.c 49 | 50 | SOURCEPATH ..\..\..\.. 51 | SOURCE queue.c 52 | SOURCE tsemaphore.c 53 | 54 | USERINCLUDE . 55 | USERINCLUDE ..\inc 56 | USERINCLUDE ..\..\inc 57 | USERINCLUDE ..\..\.. 58 | USERINCLUDE ..\..\..\audio_effects 59 | USERINCLUDE ..\..\..\..\..\src 60 | 61 | SYSTEMINCLUDE \epoc32\include 62 | SYSTEMINCLUDE \epoc32\include\ecom 63 | SYSTEMINCLUDE \epoc32\include\stdapis 64 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 65 | SYSTEMINCLUDE ..\..\..\..\..\include 66 | SYSTEMINCLUDE ..\..\..\..\..\src 67 | SYSTEMINCLUDE ..\..\..\audio_effects 68 | SYSTEMINCLUDE ..\..\..\..\base 69 | 70 | START RESOURCE components\components_symbian\audiomixer\data\F01F0015.rss 71 | #ifdef SYMBIAN_SECURE_ECOM 72 | TARGET BellagioOpenMaxAudioMixer.rsc 73 | #endif 74 | END 75 | 76 | LIBRARY euser.lib 77 | LIBRARY ecom.lib 78 | 79 | // from mobile runtime 80 | LIBRARY libpthread.lib 81 | LIBRARY libc.lib 82 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | Changes in 0.9.1: 2 | Added omx_base_image_port base class 3 | Added symbian support skipped in the last delivery 4 | Added a jpeg encoder/decoder component 5 | Added some tests 6 | 7 | Changes in 0.9.0: 8 | The main additions to this delivery are: 9 | 10 | - The symbian version of bellagio with a new component loader, 11 | several components and all the needed infrastructure has been added 12 | - Audio video synchronization support, with the addition of 13 | a new Clock component 14 | - Enhancement in the build system 15 | - New naming for the bellagio library. Now it is named libomxil-bellagio 16 | 17 | 18 | Changes in 0.3.4: 19 | added several components: 20 | - audio source based on alsa 21 | - audiomixer: simpel mixer with constant rate 22 | - 3gp audio/video parser based on ffmpeg 23 | - video source based on Video4Linux 24 | Added new domain specific base ports 25 | 26 | Difference 0.3.2 -> 0.3.3: 27 | - Added AAC format to the audio decoder based on ffmpeg 28 | - The all makefile system has been updated 29 | - It is possible to compile from a different directory 30 | - Added a directory for all the common functionalities of the tests 31 | - Updated OpenMAX header files to the 1.1.1 version 32 | - Added simple support to UseEGLImage function (video color converter component) 33 | - Updated component loader interface: 34 | - added the function DestroyComponent 35 | - changed the loader self reference 36 | - Added port construction function pointer 37 | - Removed CHECK_ERROR and CHECK_HEADER macros 38 | - Added optional installation of Bellagio internal header files for new 39 | components development outside Bellagio source tree. configure option --enable-install-devel 40 | 41 | WARNING! the version of ffmpeg used has been changed, since the AAC is supported 42 | only by the most recent version of ffmpeg, 0.4.9-0.37.20070503 43 | 44 | 45 | Difference 0.3.1 -> 0.3.2: 46 | - Some bug fixed 47 | - improved code style 48 | - added SetHeader functionality for many parameters 49 | - removed destructor from function pointers exposed to ST static loader 50 | - removed empty functions from final components 51 | - removed unnecessary library dependencies 52 | - enhanced test applications 53 | 54 | 55 | Full list of components: 56 | Audio: 57 | - ogg decoder based on libvorbis (stand alone components, and multiple roles component) 58 | - mp3 decoder based on mad decoder 59 | - mp3,aac,ogg decoder based on ffmpeg (multiple roles component) 60 | - volume component 61 | - alsa audio sink 62 | - ffmpeg audio file reader (to be used with mp3 ffmpeg decoder) 63 | Video: 64 | - MPEG4 decoder based on ffmpeg (multiple roles component) 65 | - H.264 decoder based on ffmpeg (multiple roles component) 66 | - Color converter based on ffmpeg 67 | - video renderer based on devFB 68 | -------------------------------------------------------------------------------- /src/components/components_symbian/outputstream/group/BellagioOpenMaxOutputStream.mmp: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/components_symbian/outputstream/group/BellagioOpenMaxOutputStream.mmp 3 | 4 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 5 | 6 | This library is free software; you can redistribute it and/or modify it under 7 | the terms of the GNU Lesser General Public License as published by the Free 8 | Software Foundation; either version 2.1 of the License, or (at your option) 9 | any later version. 10 | 11 | This library is distributed in the hope that it will be useful, but WITHOUT 12 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 13 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 14 | details. 15 | 16 | You should have received a copy of the GNU Lesser General Public License 17 | along with this library; if not, write to the Free Software Foundation, Inc., 18 | 51 Franklin St, Fifth Floor, Boston, MA 19 | 02110-1301 USA 20 | */ 21 | 22 | TARGET bellagioopenmaxoutputstream.dll 23 | TARGETTYPE PLUGIN 24 | 25 | EPOCALLOWDLLDATA 26 | 27 | UID 0x10009D8D 0xF01F0013 28 | 29 | CAPABILITY NONE 30 | VENDORID 0 31 | 32 | MACRO SYMBIAN 33 | 34 | SOURCEPATH ..\src 35 | SOURCE BellagioOpenMaxOutputStreamImplFactory.cpp 36 | SOURCE BellagioOpenMaxOutputStream.cpp 37 | SOURCE omx_symbian_output_stream.cpp 38 | SOURCE omx_symbian_output_stream_wrapper.cpp 39 | SOURCE omx_symbianoutputstreamsink_component.c 40 | 41 | SOURCEPATH ..\..\src 42 | SOURCE BellagioOpenMaxComponent.cpp 43 | 44 | SOURCEPATH ..\..\..\..\base 45 | SOURCE omx_base_component.c 46 | SOURCE omx_base_port.c 47 | SOURCE omx_base_sink.c 48 | 49 | SOURCEPATH ..\..\..\.. 50 | SOURCE queue.c 51 | SOURCE tsemaphore.c 52 | 53 | USERINCLUDE . 54 | USERINCLUDE ..\inc 55 | USERINCLUDE ..\..\inc 56 | USERINCLUDE ..\..\..\.. 57 | 58 | SYSTEMINCLUDE \epoc32\include 59 | SYSTEMINCLUDE \epoc32\include\ecom 60 | SYSTEMINCLUDE \epoc32\include\stdapis 61 | SYSTEMINCLUDE \epoc32\include\stdapis\sys 62 | SYSTEMINCLUDE \epoc32\include\mmf\plugin 63 | SYSTEMINCLUDE ..\..\..\..\..\include 64 | SYSTEMINCLUDE ..\..\..\..\..\src 65 | SYSTEMINCLUDE ..\..\..\..\base 66 | 67 | START RESOURCE components\components_symbian\outputstream\data\F01F0013.rss 68 | #ifdef SYMBIAN_SECURE_ECOM 69 | TARGET BellagioOpenMaxOutputStream.rsc 70 | #endif 71 | END 72 | 73 | LIBRARY euser.lib 74 | LIBRARY ecom.lib 75 | 76 | // from mobile runtime 77 | LIBRARY libpthread.lib 78 | LIBRARY libc.lib 79 | 80 | LIBRARY mediaclientaudiostream.lib 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /group/readme.txt: -------------------------------------------------------------------------------- 1 | Bellagio OpenMAX Symbian port 2 | 3 | 1. Overall Description 4 | 5 | This port is based on the ST microelectronics open source OpenMAX implementation called Bellagio (also some contribution from NRC) 6 | - Bellagio OpenMax from ST Microelectronics publicly available from SourceForge 7 | 8 | 2. Features 9 | - OpenMAX core 10 | - Three components (Components use Symbian ECOM plugin architecture for dynamic loading): 11 | - Volume component 12 | - Audio mixer component 13 | - Symbian audio output stream component 14 | - Loader (Loader uses Symbian ECOM plugin architecture for dynamic loading): 15 | - Symbian loader for running st components in Symbian host 16 | - Test exe for audio output component 17 | - Test exe for audio mixer component 18 | - Test exe for component enumeration 19 | 20 | 3. Build instructions 21 | 22 | 3.1 Environment 23 | - S60 3rd edition FP1 SDK publicly available from Forum Nokia ( http://www.forum.nokia.com ) 24 | - Open C SDK plug-in publicly available from Forum Nokia 25 | 26 | 3.2 Compiling 27 | - Extract the zip file somewhere to your epocroot directory 28 | 29 | To build the core, loaders, and components: 30 | - Go to the directory libomxil\group and type "bldmake bldfiles" 31 | - Then type "abld build armv5 urel" 32 | - Then type "abld test build armv5 urel" 33 | 34 | 3.3 Installing into a Nokia device 35 | - Go to the directory libomxil\sis 36 | - Create your own keys to the same directory for signing the package: 37 | 38 | ******************************************************************************************************* 39 | An example of creating a privatekey mykey.key and self-signed certificate mycert.cer is presented below: 40 | 41 | makekeys -cert -password yourpassword -len 2048 -dname "CN=Test User OU=Development OR=Company CO=FI EM=test@company.com" mykey.key mycert.cer 42 | ******************************************************************************************************* 43 | 44 | - use the createandsign.bat script file in the same directory. 45 | 46 | The script file takes 4 command line parameters which are: 47 | 1) path to the symbian SDK root directory (used to be called EPOCROOT, the level where epoc32 directory resides) 48 | 2) certificate file name 49 | 3) key file name 50 | 4) password for the signing (created when generating the keys and certificates) 51 | 52 | example call: 53 | 54 | createandsign.bat c:\Symbian\9.2\S60_3rd_FP1 mycert.cer mykey.key yourpassword 55 | 56 | You're ready to install the sis file into your phone. 57 | 58 | The main pkg file libomxil.pkg contains a lot of embedded sis files, which 59 | you can comment in or out for a package suitable for your needs. For example 60 | there are possibilities to include several loaders or components. 61 | 62 | Note1: Remember to install the open C sis file to your phone, because the port 63 | is dependent of it! 64 | 65 | 4. Todo 66 | 67 | 9.5.2008 Jaska Uimonen -------------------------------------------------------------------------------- /src/queue.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/queue.h 3 | 4 | Implements a simple LIFO structure used for queueing OMX buffers. 5 | 6 | Copyright (C) 2007-2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date$ 25 | Revision $Rev$ 26 | Author $Author$ 27 | */ 28 | 29 | #ifndef __TQUEUE_H__ 30 | #define __TQUEUE_H__ 31 | 32 | #include 33 | /** Maximum number of elements in a queue 34 | */ 35 | #define MAX_QUEUE_ELEMENTS 10 36 | /** Output port queue element. Contains an OMX buffer header type 37 | */ 38 | typedef struct qelem_t qelem_t; 39 | struct qelem_t{ 40 | qelem_t* q_forw; 41 | void* data; 42 | }; 43 | 44 | /** This structure contains the queue 45 | */ 46 | typedef struct queue_t{ 47 | qelem_t* first; /**< Output buffer queue head */ 48 | qelem_t* last; /**< Output buffer queue tail */ 49 | int nelem; /**< Number of elements in the queue */ 50 | pthread_mutex_t mutex; 51 | } queue_t; 52 | 53 | /** Initialize a queue descriptor 54 | * 55 | * @param queue The queue descriptor to initialize. 56 | * The user needs to allocate the queue 57 | */ 58 | void queue_init(queue_t* queue); 59 | 60 | /** Deinitialize a queue descriptor 61 | * flushing all of its internal data 62 | * 63 | * @param queue the queue descriptor to dump 64 | */ 65 | void queue_deinit(queue_t* queue); 66 | 67 | /** Enqueue an element to the given queue descriptor 68 | * 69 | * @param queue the queue descritpor where to queue data 70 | * 71 | * @param data the data to be enqueued 72 | */ 73 | void queue(queue_t* queue, void* data); 74 | 75 | /** Dequeue an element from the given queue descriptor 76 | * 77 | * @param queue the queue descriptor from which to dequeue the element 78 | * 79 | * @return the element that has bee dequeued. If the queue is empty 80 | * a NULL value is returned 81 | */ 82 | void* dequeue(queue_t* queue); 83 | 84 | /** Returns the number of elements hold in the queue 85 | * 86 | * @param queue the requested queue 87 | * 88 | * @return the number of elements in the queue 89 | */ 90 | int getquenelem(queue_t* queue); 91 | 92 | #endif 93 | -------------------------------------------------------------------------------- /test/components/audio_effects/omxvolcontroltest.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/audio_effects/omxvolcontroltest.c 3 | 4 | This simple test application provides a testing stream for the volume control component. 5 | It will be added in the more complex audio test application in the next release. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #ifndef __OMXVOLCONTROLTEST_H__ 31 | #define __OMXVOLCONTROLTEST_H__ 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | #include 42 | #include 43 | #include 44 | #include 45 | 46 | #include 47 | #include 48 | 49 | /** Specification version*/ 50 | #define VERSIONMAJOR 1 51 | #define VERSIONMINOR 1 52 | #define VERSIONREVISION 0 53 | #define VERSIONSTEP 0 54 | 55 | /* Application's private data */ 56 | typedef struct appPrivateType{ 57 | pthread_cond_t condition; 58 | pthread_mutex_t mutex; 59 | void* input_data; 60 | OMX_BUFFERHEADERTYPE* currentInputBuffer; 61 | tsem_t* eventSem; 62 | tsem_t* eofSem; 63 | }appPrivateType; 64 | 65 | /* Size of the buffers requested to the component */ 66 | #define BUFFER_IN_SIZE 2*8192*2 67 | 68 | /* Callback prototypes */ 69 | OMX_ERRORTYPE volcEventHandler( 70 | OMX_OUT OMX_HANDLETYPE hComponent, 71 | OMX_OUT OMX_PTR pAppData, 72 | OMX_OUT OMX_EVENTTYPE eEvent, 73 | OMX_OUT OMX_U32 Data1, 74 | OMX_OUT OMX_U32 Data2, 75 | OMX_IN OMX_PTR pEventData); 76 | 77 | OMX_ERRORTYPE volcEmptyBufferDone( 78 | OMX_OUT OMX_HANDLETYPE hComponent, 79 | OMX_OUT OMX_PTR pAppData, 80 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 81 | 82 | OMX_ERRORTYPE volcFillBufferDone( 83 | OMX_OUT OMX_HANDLETYPE hComponent, 84 | OMX_OUT OMX_PTR pAppData, 85 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 86 | 87 | /** Helper functions */ 88 | static int getFileSize(int fd); 89 | 90 | #endif 91 | -------------------------------------------------------------------------------- /src/loaders/loaders_symbian/symbianecomloader/inc/BellagioOpenMaxSymbianLoader.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/loaders/loaders_symbian/symbianecomloader/inc/BellagioOpenMaxSymbianLoader.h 3 | 4 | Component loader header for Symbian. 5 | 6 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 7 | 8 | This library is free software; you can redistribute it and/or modify it under 9 | the terms of the GNU Lesser General Public License as published by the Free 10 | Software Foundation; either version 2.1 of the License, or (at your option) 11 | any later version. 12 | 13 | This library is distributed in the hope that it will be useful, but WITHOUT 14 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 15 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 16 | details. 17 | 18 | You should have received a copy of the GNU Lesser General Public License 19 | along with this library; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin St, Fifth Floor, Boston, MA 21 | 02110-1301 USA 22 | */ 23 | 24 | #ifndef __BELLAGIO_OPENMAX_SYMBIANLOADER_H__ 25 | #define __BELLAGIO_OPENMAX_SYMBIANLOADER_H__ 26 | 27 | #include //TBool 28 | #include //RLibrary 29 | 30 | #include "BellagioOpenMaxLoader.h" 31 | 32 | #include "BellagioOpenMaxSymbianLoaderImplUid.hrh" 33 | 34 | #include "BellagioOpenMaxComponent.h" 35 | 36 | // The actual implementation 37 | #include "nrc_symbian_component_loader.h" 38 | 39 | // Forward declaration 40 | struct BOSA_COMPONENTLOADER; 41 | 42 | class CBellagioOpenMaxSymbianLoader : public CBellagioOpenMaxLoader 43 | { 44 | public: 45 | static CBellagioOpenMaxSymbianLoader* NewL(TAny* aInitParams); 46 | virtual ~CBellagioOpenMaxSymbianLoader(); 47 | 48 | OMX_COMPONENTTYPE* CreateComponent(OMX_STRING cComponentName, BOSA_COMPONENTLOADER* loader); 49 | OMX_ERRORTYPE DestroyComponent(OMX_COMPONENTTYPE *hComponent); 50 | 51 | OMX_ERRORTYPE ComponentNameEnum(OMX_STRING cComponentName, 52 | OMX_U32 nNameLength, 53 | OMX_U32 nIndex); 54 | 55 | OMX_ERRORTYPE GetRolesOfComponent(OMX_STRING compName, 56 | OMX_U32 *pNumRoles, 57 | OMX_U8 **roles); 58 | 59 | OMX_ERRORTYPE GetComponentsOfRole(OMX_STRING role, 60 | OMX_U32 *pNumComps, 61 | OMX_U8 **compNames); 62 | 63 | CBellagioOpenMaxComponent* GetComponentPrivate(OMX_COMPONENTTYPE *hComponent); 64 | TInt MakeComponentList(); 65 | 66 | private: 67 | CBellagioOpenMaxSymbianLoader(); 68 | 69 | TInt GetInfoIndex(OMX_STRING componentName); 70 | 71 | private: 72 | /* a array to hold all components created by this loader */ 73 | RPointerArray iComponents; 74 | 75 | /* a array to hold component infos */ 76 | RImplInfoPtrArray componentInfos; 77 | }; 78 | 79 | #endif // __BELLAGIO_OPENMAX_SYMBIANLOADER_H__ 80 | -------------------------------------------------------------------------------- /src/components/alsa/omx_alsasrc_component.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/alsa/omx_alsasrc_component.h 3 | 4 | OpenMAX ALSA source component. This component is an audio source that uses ALSA library. 5 | 6 | Copyright (C) 2008 STMicroelectronics 7 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date$ 25 | Revision $Rev$ 26 | Author $Author$ 27 | 28 | */ 29 | 30 | #ifndef _OMX_ALSASRC_COMPONENT_H_ 31 | #define _OMX_ALSASRC_COMPONENT_H_ 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | /** Alsasrcport component private structure. 42 | * see the define above 43 | */ 44 | DERIVEDCLASS(omx_alsasrc_component_PrivateType, omx_base_source_PrivateType) 45 | #define omx_alsasrc_component_PrivateType_FIELDS omx_base_source_PrivateType_FIELDS \ 46 | /** @param sPCMModeParam Audio PCM specific OpenMAX parameter */ \ 47 | OMX_AUDIO_PARAM_PCMMODETYPE sPCMModeParam; \ 48 | /** @param AudioPCMConfigured boolean flag to check if the audio has been configured */ \ 49 | char AudioPCMConfigured; \ 50 | /** @param playback_handle ALSA specific handle for audio player */ \ 51 | snd_pcm_t* playback_handle; \ 52 | /** @param hw_params ALSA specific hardware parameters */ \ 53 | snd_pcm_hw_params_t* hw_params; 54 | ENDCLASS(omx_alsasrc_component_PrivateType) 55 | 56 | /* Component private entry points declaration */ 57 | OMX_ERRORTYPE omx_alsasrc_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName); 58 | OMX_ERRORTYPE omx_alsasrc_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp); 59 | 60 | void omx_alsasrc_component_BufferMgmtCallback( 61 | OMX_COMPONENTTYPE *openmaxStandComp, 62 | OMX_BUFFERHEADERTYPE* inputbuffer); 63 | 64 | OMX_ERRORTYPE omx_alsasrc_component_GetParameter( 65 | OMX_IN OMX_HANDLETYPE hComponent, 66 | OMX_IN OMX_INDEXTYPE nParamIndex, 67 | OMX_INOUT OMX_PTR ComponentParameterStructure); 68 | 69 | OMX_ERRORTYPE omx_alsasrc_component_SetParameter( 70 | OMX_IN OMX_HANDLETYPE hComponent, 71 | OMX_IN OMX_INDEXTYPE nParamIndex, 72 | OMX_IN OMX_PTR ComponentParameterStructure); 73 | 74 | #endif 75 | -------------------------------------------------------------------------------- /src/components/audio_effects/omx_volume_component.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/audio_effects/omx_volume_component.h 3 | 4 | OpenMAX volume control component. This component implements a filter that 5 | controls the volume level of the audio PCM stream. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #ifndef _OMX_VOLUME_COMPONENT_H_ 31 | #define _OMX_VOLUME_COMPONENT_H_ 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | /** Twoport component private structure. 42 | * see the define above 43 | */ 44 | DERIVEDCLASS(omx_volume_component_PrivateType, omx_base_filter_PrivateType) 45 | #define omx_volume_component_PrivateType_FIELDS omx_base_filter_PrivateType_FIELDS \ 46 | /** @param gain the volume gain value */ \ 47 | float gain; 48 | ENDCLASS(omx_volume_component_PrivateType) 49 | 50 | /* Component private entry points declaration */ 51 | OMX_ERRORTYPE omx_volume_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName); 52 | OMX_ERRORTYPE omx_volume_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp); 53 | 54 | void omx_volume_component_BufferMgmtCallback( 55 | OMX_COMPONENTTYPE *openmaxStandComp, 56 | OMX_BUFFERHEADERTYPE* inputbuffer, 57 | OMX_BUFFERHEADERTYPE* outputbuffer); 58 | 59 | OMX_ERRORTYPE omx_volume_component_GetParameter( 60 | OMX_IN OMX_HANDLETYPE hComponent, 61 | OMX_IN OMX_INDEXTYPE nParamIndex, 62 | OMX_INOUT OMX_PTR ComponentParameterStructure); 63 | 64 | OMX_ERRORTYPE omx_volume_component_SetParameter( 65 | OMX_IN OMX_HANDLETYPE hComponent, 66 | OMX_IN OMX_INDEXTYPE nParamIndex, 67 | OMX_IN OMX_PTR ComponentParameterStructure); 68 | 69 | OMX_ERRORTYPE omx_volume_component_GetConfig( 70 | OMX_IN OMX_HANDLETYPE hComponent, 71 | OMX_IN OMX_INDEXTYPE nIndex, 72 | OMX_INOUT OMX_PTR pComponentConfigStructure); 73 | 74 | OMX_ERRORTYPE omx_volume_component_SetConfig( 75 | OMX_IN OMX_HANDLETYPE hComponent, 76 | OMX_IN OMX_INDEXTYPE nIndex, 77 | OMX_IN OMX_PTR pComponentConfigStructure); 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /libomxil-bellagio.spec.in: -------------------------------------------------------------------------------- 1 | 2 | Name: libomxil-bellagio 3 | Version: @VERSION@ 4 | Release: 0 5 | License: GNU LGPL 6 | Group: System Environment/Libraries 7 | Source: %{name}-%{version}.tar.gz 8 | BuildRoot: %{_tmppath}/%{name}-%{version}-root 9 | Summary: OpenMAX Integration Layer 1.1.1 library and components. 10 | Vendor: STMicroelectronics 11 | 12 | %description 13 | The OpenMAX IL API defines a standardized media component interface to 14 | enable developers and platform providers to integrate and communicate 15 | with multimedia codecs implemented in hardware or software. 16 | 17 | The libomxil shared library implements the OpenMAX IL Core functionalities. 18 | Three dynamically loadable components are also included: OMX alsa sink 19 | component, OMX mp3,aac,ogg decoder component and OMX volume control component. 20 | (requires ffmpeg library, not part of this package). 21 | 22 | %prep 23 | %setup 24 | %build 25 | %configure 26 | 27 | make 28 | 29 | %install 30 | %makeinstall 31 | 32 | %clean 33 | [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT 34 | 35 | %files 36 | %defattr(-,root,root) 37 | %doc ChangeLog README TODO 38 | %{_bindir}/omxregister-bellagio 39 | %{_includedir}/OMX_Audio.h 40 | %{_includedir}/OMX_Component.h 41 | %{_includedir}/OMX_ContentPipe.h 42 | %{_includedir}/OMX_Core.h 43 | %{_includedir}/OMX_IVCommon.h 44 | %{_includedir}/OMX_Image.h 45 | %{_includedir}/OMX_Index.h 46 | %{_includedir}/OMX_Other.h 47 | %{_includedir}/OMX_Types.h 48 | %{_includedir}/OMX_Video.h 49 | %{_libdir}/libomxil-bellagio.a 50 | %{_libdir}/libomxil-bellagio.la 51 | %{_libdir}/libomxil-bellagio.so.0 52 | %{_libdir}/libomxil-bellagio.so.0.0.0 53 | %{_libdir}/bellagio/libomxalsa.so 54 | %{_libdir}/bellagio/libomxaudio_effects.so 55 | %{_libdir}/bellagio/libomxclocksrc.so 56 | %{_libdir}/bellagio/libomxfbdev.so 57 | %{_libdir}/bellagio/libomxvideosrc.so 58 | %{_libdir}/bellagio/libomxcamera.so 59 | %{_libdir}/bellagio/libomxffmpeg.so 60 | %{_libdir}/bellagio/libomxfilereader.so 61 | %{_libdir}/bellagio/libomxmad.so 62 | %{_libdir}/bellagio/libomxparser3gp.so 63 | %{_libdir}/bellagio/libomxvorbis.so 64 | %{_libdir}/bellagio/libomximagejpeg.so 65 | 66 | %changelog 67 | * Wed Sep 17 2008 Giulio Urlini 68 | - added jpeg encoder/decoder 69 | * Mon Jul 07 2008 Giulio Urlini 70 | - added clock source, video source, camera, frame buffer writer 71 | * Thu Mar 06 2008 Marc-Andre Lureau 72 | - copy&pasted some good practices from some other .spec.in 73 | - changed components directory 74 | - remove unnecessary plugins .la and .a files 75 | - untested 76 | * Wed Feb 27 2008 Giulio Urlini 77 | - changed the library list. 78 | * Fri Oct 19 2007 Giulio Urlini 79 | - removed fbdev from file list. It is experimental, 80 | and not installed on any platform 81 | * Tue Oct 01 2007 Giulio Urlini 82 | - Minor update and name change of this file 83 | * Tue Jun 04 2007 Giulio Urlini 84 | - Bellagio 0.3.2 release 85 | * Tue May 22 2007 Giulio Urlini 86 | - Bellagio 0.3.1 release 87 | * Fri Apr 06 2007 Giulio Urlini 88 | - Bellagio 0.3 release 89 | * Fri Feb 24 2006 David Siorpaes 90 | - Fixed some minor issues in build process 91 | * Mon Feb 6 2006 Giulio Urlini 92 | - First build attempt 93 | -------------------------------------------------------------------------------- /src/base/omx_base_sink.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_base_sink.h 3 | 4 | OpenMAX base sink component. This component does not perform any multimedia 5 | processing. It derives from base component and contains a single port. It can be used 6 | as base class for sink components. 7 | 8 | Copyright (C) 2007-2008 STMicroelectronics 9 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 24 | 02110-1301 USA 25 | 26 | $Date$ 27 | Revision $Rev$ 28 | Author $Author$ 29 | 30 | */ 31 | 32 | #ifndef _OMX_BASE_SINK_COMPONENT_H_ 33 | #define _OMX_BASE_SINK_COMPONENT_H_ 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include "omx_base_component.h" 40 | #include 41 | 42 | 43 | #define OMX_BASE_SINK_INPUTPORT_INDEX 0 /* The index of the input port for the derived components */ 44 | #define OMX_BASE_SINK_CLOCKPORT_INDEX 1 /* The index of the clock port for the derived components */ 45 | #define OMX_BASE_SINK_INPUTPORT_INDEX_1 1 /* The index of the 2nd input port for the derived components */ 46 | 47 | /** OMX_BASE_SINK_ALLPORT_INDEX as the standard specifies, the -1 value for port index is used to point to all the ports 48 | */ 49 | #define OMX_BASE_SINK_ALLPORT_INDEX -1 50 | 51 | /** base sink component private structure. 52 | */ 53 | DERIVEDCLASS(omx_base_sink_PrivateType, omx_base_component_PrivateType) 54 | #define omx_base_sink_PrivateType_FIELDS omx_base_component_PrivateType_FIELDS \ 55 | /** @param BufferMgmtCallback function pointer for algorithm callback */ \ 56 | void (*BufferMgmtCallback)(OMX_COMPONENTTYPE* openmaxStandComp, OMX_BUFFERHEADERTYPE* inputbuffer); 57 | ENDCLASS(omx_base_sink_PrivateType) 58 | 59 | /** Base sink contructor 60 | */ 61 | OMX_ERRORTYPE omx_base_sink_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName); 62 | 63 | /** The base sink destructor. It simply calls the base destructor 64 | */ 65 | OMX_ERRORTYPE omx_base_sink_Destructor(OMX_COMPONENTTYPE *openmaxStandComp); 66 | 67 | /** This is the central function for component processing. It 68 | * is executed in a separate thread, is synchronized with 69 | * semaphores at each port, those are released each time a new buffer 70 | * is available on the given port. 71 | */ 72 | void* omx_base_sink_BufferMgmtFunction(void* param); 73 | 74 | void* omx_base_sink_twoport_BufferMgmtFunction (void* param); 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /src/base/omx_classmagic.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_classmagic.h 3 | 4 | This file contains class handling helper macros 5 | It is left as an exercise to the reader how they do the magic (FIXME) 6 | 7 | Usage Rules: 8 | 1) include this file 9 | 2) if your don't inherit, start your class with CLASS(classname) 10 | 3) if you inherit something, start your class with 11 | DERIVEDCLASS(classname, inheritedclassname) 12 | 4) end your class with ENDCLASS(classname) 13 | 5) define your class variables with a #define classname_FIELDS inheritedclassname_FIELDS 14 | inside your class and always add a backslash at the end of line (except last) 15 | 6) if you want to use doxygen, use C-style comments inside the #define, and 16 | enable macro expansion in doxyconf and predefine DOXYGEN_PREPROCESSING there, etc. 17 | 18 | See examples at the end of this file (in #if 0 block) 19 | 20 | Copyright (C) 2007-2008 STMicroelectronics 21 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 22 | 23 | This library is free software; you can redistribute it and/or modify it under 24 | the terms of the GNU Lesser General Public License as published by the Free 25 | Software Foundation; either version 2.1 of the License, or (at your option) 26 | any later version. 27 | 28 | This library is distributed in the hope that it will be useful, but WITHOUT 29 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 30 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 31 | details. 32 | 33 | You should have received a copy of the GNU Lesser General Public License 34 | along with this library; if not, write to the Free Software Foundation, Inc., 35 | 51 Franklin St, Fifth Floor, Boston, MA 36 | 02110-1301 USA 37 | 38 | $Date$ 39 | Revision $Rev$ 40 | Author $Author$ 41 | 42 | */ 43 | #ifndef OMX_CLASSMAGIC_H_ 44 | #define OMX_CLASSMAGIC_H_ 45 | 46 | 47 | #ifdef DOXYGEN_PREPROCESSING 48 | #define CLASS(a) class a { public: 49 | #define DERIVEDCLASS(a, b) class a : public b { public: 50 | #define ENDCLASS(a) a##_FIELDS }; 51 | #else 52 | #define CLASS(a) typedef struct a a; \ 53 | struct a { 54 | #define DERIVEDCLASS(a, b) typedef struct a a; \ 55 | struct a { 56 | #define ENDCLASS(a) a##_FIELDS }; 57 | #endif 58 | 59 | #if 0 /*EXAMPLES*/ 60 | /** 61 | * Class A is a nice class 62 | */ 63 | CLASS(A) 64 | #define A_FIELDS \ 65 | /** @param a very nice parameter */ \ 66 | int a; \ 67 | /** @param ash another very nice parameter */ \ 68 | int ash; 69 | ENDCLASS(A) 70 | 71 | /** 72 | * Class B is a nice derived class 73 | */ 74 | DERIVEDCLASS(B,A) 75 | #define B_FIELDS A_FIELDS \ 76 | /** @param b very nice parameter */ \ 77 | int b; 78 | ENDCLASS(B) 79 | 80 | /** 81 | * Class B2 is a nice derived class 82 | */ 83 | DERIVEDCLASS(B2,A) 84 | #define B2_FIELDS A_FIELDS \ 85 | /** @param b2 very nice parameter */ \ 86 | int b2; 87 | ENDCLASS(B2) 88 | 89 | /** 90 | * Class C is an even nicer derived class. 91 | */ 92 | DERIVEDCLASS(C,B) 93 | #define C_FIELDS B_FIELDS \ 94 | /** @param c very nice parameter */ \ 95 | int c; 96 | ENDCLASS(C) 97 | 98 | #endif /* 0 */ 99 | 100 | #endif 101 | -------------------------------------------------------------------------------- /src/components/filereader/library_entry_point.c: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/components/filereader/library_entry_point.c 3 | 4 | The library entry point. It must have the same name for each 5 | library of the components loaded by the ST static component loader. 6 | This function fills the version, the component name and if existing also the roles 7 | and the specific names for each role. This base function is only an explanation. 8 | For each library it must be implemented, and it must fill data of any component 9 | in the library 10 | 11 | Copyright (C) 2007-2008 STMicroelectronics 12 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 13 | 14 | This library is free software; you can redistribute it and/or modify it under 15 | the terms of the GNU Lesser General Public License as published by the Free 16 | Software Foundation; either version 2.1 of the License, or (at your option) 17 | any later version. 18 | 19 | This library is distributed in the hope that it will be useful, but WITHOUT 20 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 21 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 22 | details. 23 | 24 | You should have received a copy of the GNU Lesser General Public License 25 | along with this library; if not, write to the Free Software Foundation, Inc., 26 | 51 Franklin St, Fifth Floor, Boston, MA 27 | 02110-1301 USA 28 | 29 | $Date$ 30 | Revision $Rev$ 31 | Author $Author$ 32 | 33 | */ 34 | 35 | #include 36 | #include 37 | 38 | /** @brief The library entry point. It must have the same name for each 39 | * library of the components loaded by the ST static component loader. 40 | * 41 | * This function fills the version, the component name and if existing also the roles 42 | * and the specific names for each role. This base function is only an explanation. 43 | * For each library it must be implemented, and it must fill data of any component 44 | * in the library 45 | * 46 | * @param stComponents pointer to an array of components descriptors. If NULL, the 47 | * function will return only the number of components contained in the library 48 | * 49 | * @return number of components contained in the library 50 | */ 51 | int omx_component_library_Setup(stLoaderComponentType **stComponents) { 52 | 53 | DEBUG(DEB_LEV_FUNCTION_NAME, "In %s \n",__func__); 54 | 55 | if (stComponents == NULL) { 56 | DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s \n",__func__); 57 | return 1; // Return Number of Component/s 58 | } 59 | 60 | stComponents[0]->componentVersion.s.nVersionMajor = 1; 61 | stComponents[0]->componentVersion.s.nVersionMinor = 1; 62 | stComponents[0]->componentVersion.s.nRevision = 1; 63 | stComponents[0]->componentVersion.s.nStep = 1; 64 | 65 | stComponents[0]->name = calloc(1,OMX_MAX_STRINGNAME_SIZE); 66 | if (stComponents[0]->name == NULL) { 67 | return OMX_ErrorInsufficientResources; 68 | } 69 | 70 | strcpy(stComponents[0]->name, "OMX.st.audio_filereader"); 71 | stComponents[0]->name_specific_length = 0; 72 | stComponents[0]->constructor = omx_filereader_component_Constructor; 73 | 74 | DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s \n",__func__); 75 | return 1; 76 | } 77 | 78 | -------------------------------------------------------------------------------- /src/base/omx_base_audio_port.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_base_audio_port.h 3 | 4 | Base Audio Port class for OpenMAX ports to be used in derived components. 5 | 6 | Copyright (C) 2007-2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date$ 25 | Revision $Rev$ 26 | Author $Author$ 27 | 28 | */ 29 | 30 | #include "omx_classmagic.h" 31 | #include "omx_base_port.h" 32 | 33 | #ifndef __OMX_BASE_AUDIO_PORT_H__ 34 | #define __OMX_BASE_AUDIO_PORT_H__ 35 | 36 | /** 37 | * @brief the base audio domain structure that describes each port. 38 | * 39 | * The data structure is derived from base port class and contain audio 40 | * domain specific parameters. 41 | * Other elements can be added in the derived components structures. 42 | */ 43 | 44 | DERIVEDCLASS(omx_base_audio_PortType, omx_base_PortType) 45 | #define omx_base_audio_PortType_FIELDS omx_base_PortType_FIELDS \ 46 | /** @param sAudioParam Domain specific (audio) OpenMAX port parameter */ \ 47 | OMX_AUDIO_PARAM_PORTFORMATTYPE sAudioParam; 48 | ENDCLASS(omx_base_audio_PortType) 49 | 50 | /** 51 | * @brief the base contructor for the generic OpenMAX ST Audio port 52 | * 53 | * This function is executed by the component that uses a port. 54 | * The parameter contains the info about the component. 55 | * It takes care of constructing the instance of the port and 56 | * every object needed by the base port. 57 | * 58 | * @param openmaxStandComp pointer to the Handle of the component 59 | * @param openmaxStandPort the ST port to be initialized 60 | * @param nPortIndex Index of the port to be constructed 61 | * @param isInput specifices if the port is an input or an output 62 | * 63 | * @return OMX_ErrorInsufficientResources if a memory allocation fails 64 | */ 65 | 66 | OMX_ERRORTYPE base_audio_port_Constructor( 67 | OMX_COMPONENTTYPE *openmaxStandComp, 68 | omx_base_PortType **openmaxStandPort, 69 | OMX_U32 nPortIndex, 70 | OMX_BOOL isInput); 71 | 72 | /** 73 | * @brief the base audio port destructor for the generic OpenMAX ST Audio port 74 | * 75 | * This function is executed by the component that uses a port. 76 | * The parameter contains the info about the port. 77 | * It takes care of destructing the instance of the port 78 | * 79 | * @param openmaxStandPort the ST port to be destructed 80 | * 81 | * @return OMX_ErrorNone 82 | */ 83 | 84 | 85 | OMX_ERRORTYPE base_audio_port_Destructor( 86 | omx_base_PortType *openmaxStandPort); 87 | 88 | #endif 89 | -------------------------------------------------------------------------------- /src/base/omx_base_image_port.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_base_image_port.h 3 | 4 | Base Image Port class for OpenMAX ports to be used in derived components. 5 | 6 | Copyright (C) 2007-2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date$ 25 | Revision $Rev$ 26 | Author $Author$ 27 | 28 | */ 29 | 30 | #include "omx_classmagic.h" 31 | #include "omx_base_port.h" 32 | 33 | #ifndef __OMX_BASE_IMAGE_PORT_H__ 34 | #define __OMX_BASE_IMAGE_PORT_H__ 35 | 36 | /** 37 | * @brief the base image domain structure that describes each port. 38 | * 39 | * The data structure is derived from base port class and contain image 40 | * domain specific parameters. 41 | * Other elements can be added in the derived components structures. 42 | */ 43 | 44 | DERIVEDCLASS(omx_base_image_PortType, omx_base_PortType) 45 | #define omx_base_image_PortType_FIELDS omx_base_PortType_FIELDS \ 46 | /** @param sImageParam Domain specific (image) OpenMAX port parameter */ \ 47 | OMX_IMAGE_PARAM_PORTFORMATTYPE sImageParam; 48 | ENDCLASS(omx_base_image_PortType) 49 | 50 | /** 51 | * @brief the base contructor for the generic OpenMAX ST Image port 52 | * 53 | * This function is executed by the component that uses a port. 54 | * The parameter contains the info about the component. 55 | * It takes care of constructing the instance of the port and 56 | * every object needed by the base port. 57 | * 58 | * @param openmaxStandComp pointer to the Handle of the component 59 | * @param openmaxStandPort the ST port to be initialized 60 | * @param nPortIndex Index of the port to be constructed 61 | * @param isInput specifices if the port is an input or an output 62 | * 63 | * @return OMX_ErrorInsufficientResources if a memory allocation fails 64 | */ 65 | 66 | OMX_ERRORTYPE base_image_port_Constructor( 67 | OMX_COMPONENTTYPE *openmaxStandComp, 68 | omx_base_PortType **openmaxStandPort, 69 | OMX_U32 nPortIndex, 70 | OMX_BOOL isInput); 71 | 72 | /** 73 | * @brief the base image port destructor for the generic OpenMAX ST Image port 74 | * 75 | * This function is executed by the component that uses a port. 76 | * The parameter contains the info about the port. 77 | * It takes care of destructing the instance of the port 78 | * 79 | * @param openmaxStandPort the ST port to be destructed 80 | * 81 | * @return OMX_ErrorNone 82 | */ 83 | 84 | 85 | OMX_ERRORTYPE base_image_port_Destructor( 86 | omx_base_PortType *openmaxStandPort); 87 | 88 | #endif 89 | -------------------------------------------------------------------------------- /test/components/video/omxvideoenctest.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/video/omxvideoenctest.h 3 | 4 | Test application that uses a OpenMAX component, a generic video encoder. 5 | The application receives an video stream (.yuv) and encodes it in 6 | MPEG-4 Video format (.m4v). 7 | 8 | Copyright (C) 2008 STMicroelectronics and Nokia 9 | Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | #include 35 | #include 36 | 37 | #include 38 | #include 39 | #include 40 | #include 41 | 42 | #include 43 | #include 44 | 45 | /* Application's private data */ 46 | typedef struct appPrivateType{ 47 | tsem_t* encoderEventSem; 48 | tsem_t* eofSem; 49 | tsem_t* sourceEventSem; 50 | OMX_HANDLETYPE videosrchandle; 51 | OMX_HANDLETYPE videoenchandle; 52 | }appPrivateType; 53 | 54 | #define BUFFER_IN_SIZE 176*144*3/2 55 | 56 | /** Specification version*/ 57 | #define VERSIONMAJOR 1 58 | #define VERSIONMINOR 1 59 | #define VERSIONREVISION 0 60 | #define VERSIONSTEP 0 61 | 62 | 63 | /* Callback prototypes for video source */ 64 | OMX_ERRORTYPE videosrcEventHandler( 65 | OMX_OUT OMX_HANDLETYPE hComponent, 66 | OMX_OUT OMX_PTR pAppData, 67 | OMX_OUT OMX_EVENTTYPE eEvent, 68 | OMX_OUT OMX_U32 Data1, 69 | OMX_OUT OMX_U32 Data2, 70 | OMX_OUT OMX_PTR pEventData); 71 | 72 | OMX_ERRORTYPE videosrcFillBufferDone( 73 | OMX_OUT OMX_HANDLETYPE hComponent, 74 | OMX_OUT OMX_PTR pAppData, 75 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 76 | 77 | /* Callback prototypes for video encoder */ 78 | OMX_ERRORTYPE videoencEventHandler( 79 | OMX_OUT OMX_HANDLETYPE hComponent, 80 | OMX_OUT OMX_PTR pAppData, 81 | OMX_OUT OMX_EVENTTYPE eEvent, 82 | OMX_OUT OMX_U32 Data1, 83 | OMX_OUT OMX_U32 Data2, 84 | OMX_OUT OMX_PTR pEventData); 85 | 86 | OMX_ERRORTYPE videoencEmptyBufferDone( 87 | OMX_OUT OMX_HANDLETYPE hComponent, 88 | OMX_OUT OMX_PTR pAppData, 89 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 90 | 91 | OMX_ERRORTYPE videoencFillBufferDone( 92 | OMX_OUT OMX_HANDLETYPE hComponent, 93 | OMX_OUT OMX_PTR pAppData, 94 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 95 | 96 | /** function prototype declaration */ 97 | 98 | /** display general help */ 99 | void display_help(); 100 | 101 | /** this function sets the video source and encoder port characteristics */ 102 | int setPortParameters(); 103 | 104 | -------------------------------------------------------------------------------- /src/base/omx_base_video_port.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_base_video_port.h 3 | 4 | Base Video Port class for OpenMAX ports to be used in derived components. 5 | 6 | Copyright (C) 2007-2008 STMicroelectronics 7 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 8 | 9 | This library is free software; you can redistribute it and/or modify it under 10 | the terms of the GNU Lesser General Public License as published by the Free 11 | Software Foundation; either version 2.1 of the License, or (at your option) 12 | any later version. 13 | 14 | This library is distributed in the hope that it will be useful, but WITHOUT 15 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 16 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 17 | details. 18 | 19 | You should have received a copy of the GNU Lesser General Public License 20 | along with this library; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin St, Fifth Floor, Boston, MA 22 | 02110-1301 USA 23 | 24 | $Date$ 25 | Revision $Rev$ 26 | Author $Author$ 27 | 28 | */ 29 | 30 | #include "omx_classmagic.h" 31 | #include "omx_base_port.h" 32 | 33 | #ifndef __OMX_BASE_VIDEO_PORT_H__ 34 | #define __OMX_BASE_VIDEO_PORT_H__ 35 | 36 | /** define the max output buffer size */ 37 | #define MAX_VIDEO_OUTPUT_BUF_SIZE 460800 //640 * 480 * 1.5 38 | #define MIN_VIDEO_OUTPUT_BUF_SIZE 176*144*3 //176 * 144 * 1.5 39 | /** 40 | * @brief the base video domain structure that describes each port. 41 | * 42 | * The data structure is derived from base port class and contain video 43 | * domain specific parameters. 44 | * Other elements can be added in the derived components structures. 45 | */ 46 | 47 | DERIVEDCLASS(omx_base_video_PortType, omx_base_PortType) 48 | #define omx_base_video_PortType_FIELDS omx_base_PortType_FIELDS \ 49 | /** @param sVideoParam Domain specific (video) OpenMAX port parameter */ \ 50 | OMX_VIDEO_PARAM_PORTFORMATTYPE sVideoParam; 51 | ENDCLASS(omx_base_video_PortType) 52 | 53 | /** 54 | * @brief The base contructor for the generic OpenMAX ST Video port 55 | * 56 | * This function is executed by the component that uses a port. 57 | * The parameter contains the info about the component. 58 | * It takes care of constructing the instance of the port and 59 | * every object needed by the base port. 60 | * 61 | * @param openmaxStandComp pointer to the Handle of the component 62 | * @param openmaxStandPort the ST port to be initialized 63 | * @param nPortIndex Index of the port to be constructed 64 | * @param isInput specifices if the port is an input or an output 65 | * 66 | * @return OMX_ErrorInsufficientResources if a memory allocation fails 67 | */ 68 | 69 | OMX_ERRORTYPE base_video_port_Constructor( 70 | OMX_COMPONENTTYPE *openmaxStandComp, 71 | omx_base_PortType **openmaxStandPort, 72 | OMX_U32 nPortIndex, 73 | OMX_BOOL isInput); 74 | 75 | /** 76 | * @brief The base video port destructor for the generic OpenMAX ST Video port 77 | * 78 | * This function is executed by the component that uses a port. 79 | * The parameter contains the info about the port. 80 | * It takes care of destructing the instance of the port 81 | * 82 | * @param openmaxStandPort the ST port to be destructed 83 | * 84 | * @return OMX_ErrorNone 85 | */ 86 | 87 | 88 | OMX_ERRORTYPE base_video_port_Destructor( 89 | omx_base_PortType *openmaxStandPort); 90 | 91 | #endif 92 | -------------------------------------------------------------------------------- /src/tsemaphore.c: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/tsemaphore.c 3 | 4 | Implements a simple inter-thread semaphore so not to have to deal with IPC 5 | creation and the like. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | #include "tsemaphore.h" 34 | #include "omx_comp_debug_levels.h" 35 | 36 | /** Initializes the semaphore at a given value 37 | * 38 | * @param tsem the semaphore to initialize 39 | * @param val the initial value of the semaphore 40 | * 41 | */ 42 | void tsem_init(tsem_t* tsem, unsigned int val) { 43 | pthread_cond_init(&tsem->condition, NULL); 44 | pthread_mutex_init(&tsem->mutex, NULL); 45 | tsem->semval = val; 46 | } 47 | 48 | /** Destroy the semaphore 49 | * 50 | * @param tsem the semaphore to destroy 51 | */ 52 | void tsem_deinit(tsem_t* tsem) { 53 | pthread_cond_destroy(&tsem->condition); 54 | pthread_mutex_destroy(&tsem->mutex); 55 | } 56 | 57 | /** Decreases the value of the semaphore. Blocks if the semaphore 58 | * value is zero. 59 | * 60 | * @param tsem the semaphore to decrease 61 | */ 62 | void tsem_down(tsem_t* tsem) { 63 | pthread_mutex_lock(&tsem->mutex); 64 | while (tsem->semval == 0) { 65 | pthread_cond_wait(&tsem->condition, &tsem->mutex); 66 | } 67 | tsem->semval--; 68 | pthread_mutex_unlock(&tsem->mutex); 69 | } 70 | 71 | /** Increases the value of the semaphore 72 | * 73 | * @param tsem the semaphore to increase 74 | */ 75 | void tsem_up(tsem_t* tsem) { 76 | pthread_mutex_lock(&tsem->mutex); 77 | tsem->semval++; 78 | pthread_cond_signal(&tsem->condition); 79 | pthread_mutex_unlock(&tsem->mutex); 80 | } 81 | 82 | /** Reset the value of the semaphore 83 | * 84 | * @param tsem the semaphore to reset 85 | */ 86 | void tsem_reset(tsem_t* tsem) { 87 | pthread_mutex_lock(&tsem->mutex); 88 | tsem->semval=0; 89 | pthread_mutex_unlock(&tsem->mutex); 90 | } 91 | 92 | /** Wait on the condition. 93 | * 94 | * @param tsem the semaphore to wait 95 | */ 96 | void tsem_wait(tsem_t* tsem) { 97 | pthread_mutex_lock(&tsem->mutex); 98 | pthread_cond_wait(&tsem->condition, &tsem->mutex); 99 | pthread_mutex_unlock(&tsem->mutex); 100 | } 101 | 102 | /** Signal the condition,if waiting 103 | * 104 | * @param tsem the semaphore to signal 105 | */ 106 | void tsem_signal(tsem_t* tsem) { 107 | pthread_mutex_lock(&tsem->mutex); 108 | pthread_cond_signal(&tsem->condition); 109 | pthread_mutex_unlock(&tsem->mutex); 110 | } 111 | 112 | -------------------------------------------------------------------------------- /src/base/omx_base_source.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/base/omx_base_source.h 3 | 4 | OpenMAX base source component. This component does not perform any multimedia 5 | processing. It derives from base component and contains a single port. It can be used 6 | as base class for source components. 7 | 8 | Copyright (C) 2007-2008 STMicroelectronics 9 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 10 | 11 | This library is free software; you can redistribute it and/or modify it under 12 | the terms of the GNU Lesser General Public License as published by the Free 13 | Software Foundation; either version 2.1 of the License, or (at your option) 14 | any later version. 15 | 16 | This library is distributed in the hope that it will be useful, but WITHOUT 17 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 18 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 19 | details. 20 | 21 | You should have received a copy of the GNU Lesser General Public License 22 | along with this library; if not, write to the Free Software Foundation, Inc., 23 | 51 Franklin St, Fifth Floor, Boston, MA 24 | 02110-1301 USA 25 | 26 | $Date$ 27 | Revision $Rev$ 28 | Author $Author$ 29 | 30 | */ 31 | 32 | #ifndef _OMX_BASE_SOURCE_COMPONENT_H_ 33 | #define _OMX_BASE_SOURCE_COMPONENT_H_ 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | #include "omx_base_component.h" 40 | #include 41 | 42 | 43 | /** OMX_BASE_SOURCE_OUTPUTPORT_INDEX is the index of any output port for the derived components 44 | */ 45 | #define OMX_BASE_SOURCE_OUTPUTPORT_INDEX 0 46 | 47 | /** OMX_BASE_SPLITTER_OUTPUTPORT_INDEX_1 is the index of any output port for the derived components 48 | */ 49 | #define OMX_BASE_SOURCE_OUTPUTPORT_INDEX_1 1 50 | 51 | /** OMX_BASE_SOURCE_ALLPORT_INDEX as the standard specifies, the -1 value for port index is used to point to all the ports 52 | */ 53 | #define OMX_BASE_SOURCE_ALLPORT_INDEX -1 54 | 55 | /** base source component private structure. 56 | */ 57 | DERIVEDCLASS(omx_base_source_PrivateType, omx_base_component_PrivateType) 58 | #define omx_base_source_PrivateType_FIELDS omx_base_component_PrivateType_FIELDS \ 59 | /** @param BufferMgmtCallback function pointer for algorithm callback */ \ 60 | void (*BufferMgmtCallback)(OMX_COMPONENTTYPE* openmaxStandComp, OMX_BUFFERHEADERTYPE* outputbuffer); 61 | ENDCLASS(omx_base_source_PrivateType) 62 | 63 | /** Base source contructor 64 | */ 65 | OMX_ERRORTYPE omx_base_source_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName); 66 | 67 | /** The base source destructor. It simply calls the base destructor 68 | */ 69 | OMX_ERRORTYPE omx_base_source_Destructor(OMX_COMPONENTTYPE *openmaxStandComp); 70 | 71 | /** This is the central function for component processing. It 72 | * is executed in a separate thread, is synchronized with 73 | * semaphores at each port, those are released each time a new buffer 74 | * is available on the given port. 75 | */ 76 | void* omx_base_source_BufferMgmtFunction(void* param); 77 | 78 | /** This is the central function for buffer processing of a two port source component. 79 | * It is executed in a separate thread, is synchronized with 80 | * semaphores at each port, those are released each time a new buffer 81 | * is available on the given port. 82 | */ 83 | 84 | void* omx_base_source_twoport_BufferMgmtFunction (void* param); 85 | 86 | #endif 87 | 88 | -------------------------------------------------------------------------------- /test/components/common/tsemaphore.c: -------------------------------------------------------------------------------- 1 | /** 2 | @file src/tsemaphore.c 3 | 4 | Implements a simple inter-thread semaphore so as not to have to deal with IPC 5 | creation and the like. 6 | 7 | Copyright (C) 2007-2008 STMicroelectronics 8 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 9 | 10 | This library is free software; you can redistribute it and/or modify it under 11 | the terms of the GNU Lesser General Public License as published by the Free 12 | Software Foundation; either version 2.1 of the License, or (at your option) 13 | any later version. 14 | 15 | This library is distributed in the hope that it will be useful, but WITHOUT 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 17 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 18 | details. 19 | 20 | You should have received a copy of the GNU Lesser General Public License 21 | along with this library; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin St, Fifth Floor, Boston, MA 23 | 02110-1301 USA 24 | 25 | $Date$ 26 | Revision $Rev$ 27 | Author $Author$ 28 | */ 29 | 30 | #include 31 | #include 32 | #include 33 | #include "tsemaphore.h" 34 | #include "user_debug_levels.h" 35 | 36 | /** Initializes the semaphore at a given value 37 | * 38 | * @param tsem the semaphore to initialize 39 | * @param val the initial value of the semaphore 40 | * 41 | */ 42 | void tsem_init(tsem_t* tsem, unsigned int val) { 43 | pthread_cond_init(&tsem->condition, NULL); 44 | pthread_mutex_init(&tsem->mutex, NULL); 45 | tsem->semval = val; 46 | } 47 | 48 | /** Destroy the semaphore 49 | * 50 | * @param tsem the semaphore to destroy 51 | */ 52 | void tsem_deinit(tsem_t* tsem) { 53 | pthread_cond_destroy(&tsem->condition); 54 | pthread_mutex_destroy(&tsem->mutex); 55 | } 56 | 57 | /** Decreases the value of the semaphore. Blocks if the semaphore 58 | * value is zero. 59 | * 60 | * @param tsem the semaphore to decrease 61 | */ 62 | void tsem_down(tsem_t* tsem) { 63 | pthread_mutex_lock(&tsem->mutex); 64 | while (tsem->semval == 0) { 65 | pthread_cond_wait(&tsem->condition, &tsem->mutex); 66 | } 67 | tsem->semval--; 68 | pthread_mutex_unlock(&tsem->mutex); 69 | } 70 | 71 | /** Increases the value of the semaphore 72 | * 73 | * @param tsem the semaphore to increase 74 | */ 75 | void tsem_up(tsem_t* tsem) { 76 | pthread_mutex_lock(&tsem->mutex); 77 | tsem->semval++; 78 | pthread_cond_signal(&tsem->condition); 79 | pthread_mutex_unlock(&tsem->mutex); 80 | } 81 | 82 | /** Reset the value of the semaphore 83 | * 84 | * @param tsem the semaphore to reset 85 | */ 86 | void tsem_reset(tsem_t* tsem) { 87 | pthread_mutex_lock(&tsem->mutex); 88 | tsem->semval=0; 89 | pthread_mutex_unlock(&tsem->mutex); 90 | } 91 | 92 | /** Wait on the condition. 93 | * 94 | * @param tsem the semaphore to wait 95 | */ 96 | void tsem_wait(tsem_t* tsem) { 97 | pthread_mutex_lock(&tsem->mutex); 98 | pthread_cond_wait(&tsem->condition, &tsem->mutex); 99 | pthread_mutex_unlock(&tsem->mutex); 100 | } 101 | 102 | /** Signal the condition,if waiting 103 | * 104 | * @param tsem the semaphore to signal 105 | */ 106 | void tsem_signal(tsem_t* tsem) { 107 | pthread_mutex_lock(&tsem->mutex); 108 | pthread_cond_signal(&tsem->condition); 109 | pthread_mutex_unlock(&tsem->mutex); 110 | } 111 | 112 | -------------------------------------------------------------------------------- /test/components/jpeg/omxjpegdectest.h: -------------------------------------------------------------------------------- 1 | /** 2 | @file test/components/image/omxjpegdectest.h 3 | 4 | OpenMAX Integration Layer JPEG component test program 5 | 6 | This test program operates the OMX IL jpeg decoder component 7 | which decodes an jpeg file. 8 | Input file is given as the first argument and output 9 | is written to another file. 10 | 11 | Copyright (C) 2007-2008 STMicroelectronics 12 | Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 13 | 14 | This library is free software; you can redistribute it and/or modify it under 15 | the terms of the GNU Lesser General Public License as published by the Free 16 | Software Foundation; either version 2.1 of the License, or (at your option) 17 | any later version. 18 | 19 | This library is distributed in the hope that it will be useful, but WITHOUT 20 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 21 | FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 22 | details. 23 | 24 | You should have received a copy of the GNU Lesser General Public License 25 | along with this library; if not, write to the Free Software Foundation, Inc., 26 | 51 Franklin St, Fifth Floor, Boston, MA 27 | 02110-1301 USA 28 | 29 | $Date$ 30 | Revision $Rev$ 31 | Author $Author$ 32 | 33 | */ 34 | 35 | 36 | #include 37 | #include 38 | #include 39 | #include 40 | 41 | #include 42 | #include 43 | #include 44 | 45 | #include "tsemaphore.h" 46 | 47 | /* Application's private data */ 48 | typedef struct appPrivateType{ 49 | void* input_data; 50 | OMX_BUFFERHEADERTYPE* currentInputBuffer; 51 | OMX_HANDLETYPE handle; 52 | OMX_CALLBACKTYPE callbacks; 53 | OMX_BUFFERHEADERTYPE* pInBuffer[2]; 54 | OMX_BUFFERHEADERTYPE* pOutBuffer[1]; 55 | tsem_t stateSem; 56 | tsem_t eosSem; 57 | OMX_S32 cInBufIndex; 58 | OMX_S32 frame_width; 59 | OMX_S32 frame_height; 60 | OMX_S32 outframe_buffer_size; 61 | char* output_file; 62 | }appPrivateType; 63 | 64 | /* Size of the buffers requested to the component */ 65 | #define INPUT_BUFFER_SIZE 4096 /*Max input buffer size*/ 66 | #define OUTPUT_BUFFER_SIZE 304128 /*Max output buffer size*/ 67 | 68 | /* Size of the buffers requested to the component */ 69 | #define BUFFER_SIZE 4096 70 | #define FRAME_WIDTH 640 71 | #define FRAME_HEIGHT 480 72 | #define FRAME_BUFFER_SIZE FRAME_WIDTH*FRAME_HEIGHT*3 +54 /* 640 x 480 x 2bytes x(3/2) +54bytes header*/ 73 | 74 | 75 | /** Specification version*/ 76 | #define VERSIONMAJOR 1 77 | #define VERSIONMINOR 1 78 | #define VERSIONREVISION 0 79 | #define VERSIONSTEP 0 80 | 81 | /* Callback prototypes */ 82 | OMX_ERRORTYPE jpegDecEventHandler( 83 | OMX_IN OMX_HANDLETYPE hComponent, 84 | OMX_IN OMX_PTR pAppData, 85 | OMX_IN OMX_EVENTTYPE eEvent, 86 | OMX_IN OMX_U32 nData1, 87 | OMX_IN OMX_U32 nData2, 88 | OMX_IN OMX_PTR pEventData); 89 | 90 | OMX_ERRORTYPE jpegDecEmptyBufferDone( 91 | OMX_OUT OMX_HANDLETYPE hComponent, 92 | OMX_OUT OMX_PTR pAppData, 93 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 94 | 95 | OMX_ERRORTYPE jpegDecFillBufferDone( 96 | OMX_OUT OMX_HANDLETYPE hComponent, 97 | OMX_OUT OMX_PTR pAppData, 98 | OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 99 | 100 | /** Helper functions */ 101 | static void setHeader(OMX_PTR header, OMX_U32 size); 102 | --------------------------------------------------------------------------------