[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-video-dev
Subject:    [Video-dev] From RMA to Helix
From:       Kouiskas <contact () kouiskas ! com>
Date:       2004-04-27 9:57:04
Message-ID: 408E2E70.6060908 () kouiskas ! com
[Download RAW message or body]

Hi,

The thing is that the example I started working on was from the RMA SDK and I took \
the files you told me about from the Helix CVS. So mixing them created a big mess, \
that's the reason why I thought it would be better to re-code everything in the Helix \
SDK, starting from the same example (capture_vframes which was exwlsite in RMA SDK, \
but you know this for sure). Anyway after struggling again with GCC versions and \
Makefiles I finally compiled the example but it doesn't work. The Makefile is the \
same as the one I used with exwlsite (just changed include folders for helix). The \
capture_vframes example crashed because it couldn't retrieve the CLientEngineSelector \
(got a null pointer and tried to ->Select which caused a segfault). So I replaced the \
Select by a Unix select, then a usleep() but it still doesn't work, and I didn't \
change anything else in the example, it's the exact CVS one.  Maybe my problem comes \
from my Makefile, which I took from the RMASDK and modified a bit. I tried to use \
umake and build but it doesn't wotk, all I get when using them is ":No such file or \
directory" even when I just type "build --man" (I checked and everything is \
installed, python and all, I added /build/bin to PATH).

Please give me some light, 
Kouiskas

# UMAKE generated Makefile
# build choices: default,release
# platform: linux-2.0-libc6-i386-gcc2.95
# Wed Feb  2 15:35:14 2000
.SUFFIXES: .cpp .so
.c.o:
	$(CC) $(CCFLAGS) -o  $@ -c $<
.cpp.o:
	$(CXX) $(CXXFLAGS) -o  $@ -c $<

RM = rm -f
RM_DIR = rm -rf
MAKE_DEP = echo
MAKE_DEP_FLAGS =   $(INCLUDES) $(DEFINES)
MAKE_LIB = ar cr 
MAKE_LIB_FLAGS =  
RANLIB = ranlib
CP = cp
MAKE = make

# Compilers
CC = gcc
CCFLAGS = --permissive -pipe -O2  $(INCLUDES) $(DEFINES)
CXX = g++
CXXFLAGS = --permissive -pipe -O2  $(INCLUDES) $(DEFINES)

# Linker
LD = ld
LDFLAGS = -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 --export-dynamic -u sem_init
DEPLIBS = 

DYNAMIC_LIBS = 


SRCS = \
	../video_surface.cpp \
	../site_supplier.cpp \
	../rmargn.cpp \
	../nowindow_site.cpp \
	../main.cpp \
	../fivemmap.cpp \
	../fivemlist.cpp \
	../error.cpp \
	../context.cpp \
	../blt_service.cpp \
	../authentication_manager.cpp \
	../advise_sink.cpp
	
OBJS = $(COMPILED_OBJS) $(SOURCE_OBJS)

COMPILED_OBJS = \
	rel/obj/video_surface.o \
	rel/obj/site_supplier.o \
	rel/obj/rmargn.o \
	rel/obj/nowindow_site.o \
	rel/obj/main.o \
	rel/obj/fivemmap.o \
	rel/obj/fivemlist.o \
	rel/obj/error.o \
	rel/obj/context.o \
	rel/obj/blt_service.o \
        rel/obj/authentication_manager.o \
	rel/obj/advise_sink.o \

SOURCE_OBJS = 

INCLUDES = \
	-I/usr/X11R6/include \
	-I../unix \
	-I/usr/X11R6/include \
	-I../../include \
	-I.. \
	-I./pub \
	-I../../../../common/include \
	-I../../../../common/runtime/pub \
	-I../../../../client/include \

DEFINES = \
	-DFD_SETSIZE=2048 \
	-D_LINUX \
	-D_REENTRANT \
	-D_RED_HAT_5_X_ \
	-D_UNIX

SYSLIBS = \
	-ldl \
	-lpng12 \
	-lz \
	-lpthread

LOCAL_LIBS = 

rel/exwlsite: rel/obj $(OBJS) $(DEPLIBS)
	if test -d rel; then echo; else mkdir rel; fi
	$(LD) $(LDFLAGS) -o rel/exwlsite `g++ -print-file-name=crt1.o` `g++ \
-print-file-name=crti.o` `g++ -print-file-name=crtbegin.o` $(OBJS) $(DEPLIBS) \
$(SYSLIBS) $(LOCAL_LIBS) -L/usr/X11R6/lib -L/usr/X11R6/lib $(DYNAMIC_LIBS) \
--whole-archive `g++ -print-file-name=libgcc.a` --whole-archive `g++ \
-print-file-name=libc_nonshared.a` --no-whole-archive `g++ -print-file-name=crtend.o` \
`g++ -print-file-name=crtn.o`

clean::
	$(RM) rel/exwlsite $(COMPILED_OBJS)


## OBJECT DEPENDANCIES
rel/obj:
	if test -d rel; then echo; else mkdir rel; fi
	if test -d rel/obj; then echo; else mkdir rel/obj; fi
rel/obj/video_surface.o : ../video_surface.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/video_surface.o -c ../video_surface.cpp
rel/obj/site_supplier.o : ../site_supplier.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/site_supplier.o -c ../site_supplier.cpp
rel/obj/nowindow_site.o : ../nowindow_site.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/nowindow_site.o -c ../nowindow_site.cpp
rel/obj/error.o : ../error.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/error.o -c ../error.cpp
rel/obj/context.o : ../context.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/context.o -c ../context.cpp
rel/obj/fivemmap.o : ../fivemmap.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/fivemmap.o -c ../fivemmap.cpp
rel/obj/fivemlist.o : ../fivemlist.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/fivemlist.o -c ../fivemlist.cpp
rel/obj/blt_service.o : ../blt_service.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/blt_service.o -c ../blt_service.cpp
rel/obj/authentication_manager.o : ../authentication_manager.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/authentication_manager.o -c \
../authentication_manager.cpp rel/obj/main.o : ../main.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/main.o -c ../main.cpp
rel/obj/rmargn.o : ../rmargn.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/rmargn.o -c ../rmargn.cpp
rel/obj/advise_sink.o : ../advise_sink.cpp
	$(CXX) $(CXXFLAGS) -o rel/obj/advise_sink.o -c ../advise_sink.cpp
copy:
	if test -d ../release; then echo; else mkdir ../release; fi
	cp rel/exwlsite ../release/exwlsite
depend:
	$(MAKE_DEP) $(MAKE_DEP_FLAGS) rel/obj/ $(SRCS)





-----------------------

Adding dev@video.

It should be no problem to run without X. We have done this for
systems like linux/arm on the Zaurus and iPAC/linux.

For a good start take a look at:
    
    video/sitelib/platform/unix/linux_fb_site.cpp and
    video/sitelib/platform/unix/linux_fb_surf.cpp 

Those are frame buffer sites and don't use X.

Let me know how it goes.

--greg.


----- Original Message ----- 
From: "Kouiskas" <contact@kouiskas.com>
To: <gwright@real.com>
Sent: Friday, April 23, 2004 1:47 AM
Subject: Helix SDK sample: exwlsite



> > Hello, I've based one of my project on the exwlsite sample of the Helix 
> > sdk and developed my stuff under Windows. But then I had to move 
> > everything to Linux and after tons of problems I finally did it, but 
> > there is a remaining problem: my modified version of exwlsite must run 
> > without X and it can't since when the site sends a RMA_SURFACE_UPDATE to 
> > the default renderer, a window is needed under Linux. I would like to 
> > know if there is a simple way to avoid this use of X, because my project 
> > is meant to be a php module (basically a module to take screenshots from 
> > a real video).
> > 
> > Thanks a lot for paying attention to my problem, sorry not to have 
> > posted this question on one of the mailing lists, I didn't know on which 
> > one to post.
> > 
> > Kouiskas
> > 
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic