├── 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 |
1.5.1
6 |
7 |
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 |
--------------------------------------------------------------------------------