Changeset 4928


Ignore:
Timestamp:
Sep 24, 2014 4:01:34 AM (6 years ago)
Author:
ming
Message:

Re #1790: Initial basic implementation of Android OpenGL renderer

To use it, app has to specify PJMEDIA_HAS_VIDEO to 1

Location:
pjproject/trunk
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/aconfigure

    r4892 r4928  
    668668ac_ios_cflags 
    669669ac_pjmedia_video_has_ios 
     670ac_android_cflags 
     671ac_pjmedia_video_has_android 
    670672ac_pjmedia_video 
    671673ac_pa_use_oss 
     
    61606162else 
    61616163 case $target in 
     6164  *android*) 
     6165        ac_pjmedia_video=android_os 
     6166 
     6167 
     6168        SAVED_LIBS="$LIBS" 
     6169        LIBS="-lGLESv2 -lEGL -landroid" 
     6170        cat confdefs.h - <<_ACEOF >conftest.$ac_ext 
     6171/* end confdefs.h.  */ 
     6172 
     6173int 
     6174main () 
     6175{ 
     6176 
     6177  ; 
     6178  return 0; 
     6179} 
     6180_ACEOF 
     6181if ac_fn_c_try_link "$LINENO"; then : 
     6182  ac_pjmedia_video_has_android=yes 
     6183else 
     6184  ac_pjmedia_video_has_android=no 
     6185fi 
     6186rm -f core conftest.err conftest.$ac_objext \ 
     6187    conftest$ac_exeext conftest.$ac_ext 
     6188        LIBS="$SAVED_LIBS" 
     6189        if test "$ac_pjmedia_video_has_android" = "yes"; then 
     6190          ac_android_cflags="-DPJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL=1" 
     6191          LIBS="$LIBS -lGLESv2 -lEGL -landroid" 
     6192          { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenGL ES 2 is available... yes" >&5 
     6193$as_echo "Checking if OpenGL ES 2 is available... yes" >&6; } 
     6194        else 
     6195          { $as_echo "$as_me:${as_lineno-$LINENO}: result: Checking if OpenGL ES 2 is available... no" >&5 
     6196$as_echo "Checking if OpenGL ES 2 is available... no" >&6; } 
     6197        fi 
     6198        ;; 
    61626199  arm-apple-darwin*) 
    61636200        ac_pjmedia_video=iphone_os 
  • pjproject/trunk/aconfigure.ac

    r4892 r4928  
    706706else 
    707707 case $target in 
     708  *android*) 
     709        ac_pjmedia_video=android_os 
     710        AC_SUBST(ac_pjmedia_video_has_android) 
     711        AC_SUBST(ac_android_cflags) 
     712        SAVED_LIBS="$LIBS" 
     713        LIBS="-lGLESv2 -lEGL -landroid" 
     714        AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [])],[ac_pjmedia_video_has_android=yes],[ac_pjmedia_video_has_android=no]) 
     715        LIBS="$SAVED_LIBS" 
     716        if test "$ac_pjmedia_video_has_android" = "yes"; then 
     717          ac_android_cflags="-DPJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL=1" 
     718          LIBS="$LIBS -lGLESv2 -lEGL -landroid" 
     719          AC_MSG_RESULT([Checking if OpenGL ES 2 is available... yes]) 
     720        else 
     721          AC_MSG_RESULT([Checking if OpenGL ES 2 is available... no]) 
     722        fi 
     723        ;; 
    708724  arm-apple-darwin*) 
    709725        ac_pjmedia_video=iphone_os 
  • pjproject/trunk/pjmedia/build/Makefile

    r4875 r4928  
    107107export PJMEDIA_VIDEODEV_SRCDIR = ../src/pjmedia-videodev 
    108108export PJMEDIA_VIDEODEV_OBJS +=  errno.o videodev.o avi_dev.o ffmpeg_dev.o \ 
    109                                 colorbar_dev.o v4l2_dev.o opengl_dev.o 
     109                                colorbar_dev.o v4l2_dev.o opengl_dev.o \ 
     110                                android_opengl.o 
    110111export PJMEDIA_VIDEODEV_CFLAGS += $(_CFLAGS) 
    111112export PJMEDIA_VIDEODEV_CXXFLAGS += $(_CXXFLAGS) 
  • pjproject/trunk/pjmedia/build/os-auto.mak.in

    r4875 r4928  
    2626IOS_CFLAGS = @ac_ios_cflags@ 
    2727 
     28# Android 
     29ANDROID_CFLAGS = @ac_android_cflags@ 
     30 
    2831# libyuv 
    2932LIBYUV_CFLAGS = @ac_libyuv_cflags@ 
     
    3437export CFLAGS += @ac_no_small_filter@ @ac_no_large_filter@ @ac_no_speex_aec@ \ 
    3538                 $(SDL_CFLAGS) $(FFMPEG_CFLAGS) $(V4L2_CFLAGS) $(QT_CFLAGS) \ 
    36                  $(IOS_CFLAGS) $(LIBYUV_CFLAGS) 
     39                 $(IOS_CFLAGS) $(ANDROID_CFLAGS) $(LIBYUV_CFLAGS) 
    3740export LDFLAGS += $(SDL_LDFLAGS) $(FFMPEG_LDFLAGS) $(V4L2_LDFLAGS) \ 
    3841                  $(LIBYUV_LDFLAGS) 
  • pjproject/trunk/pjmedia/include/pjmedia-videodev/config.h

    r4907 r4928  
    7272 
    7373/** 
     74 * This setting controls whether OpenGL for Android should be included. 
     75 * 
     76 * Default: 0 (or detected by configure) 
     77 */ 
     78#ifndef PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL 
     79#  define PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL  0 
     80#else 
     81#  if defined(PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL) && \ 
     82              PJMEDIA_VIDEO_DEV_HAS_ANDROID_OPENGL != 0 
     83#    undef  PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES 
     84#    define PJMEDIA_VIDEO_DEV_HAS_OPENGL_ES     1 
     85#  endif 
     86#endif 
     87 
     88 
     89/** 
    7490 * This setting controls whether OpenGL ES support should be included. 
    7591 * 
  • pjproject/trunk/pjsip-apps/src/pjsua/android/AndroidManifest.xml

    r4496 r4928  
    2323    <uses-permission android:name="android.permission.CAMERA" /> 
    2424 
     25    <uses-feature android:glEsVersion="0x00020000" android:required="false" /> 
     26     
    2527    <uses-feature 
    2628        android:name="android.hardware.microphone" 
  • pjproject/trunk/pjsip-apps/src/swig/java/android/AndroidManifest.xml

    r4704 r4928  
    2121    <uses-permission android:name="android.permission.READ_LOGS" /> 
    2222    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
     23     
     24    <uses-feature android:glEsVersion="0x00020000" android:required="false" /> 
    2325 
    2426    <application 
Note: See TracChangeset for help on using the changeset viewer.