Merge branch 'tablet'
This commit is contained in:
commit
adcc6657bc
26 changed files with 2425 additions and 166 deletions
|
@ -7,6 +7,7 @@
|
|||
<classpathentry kind="src" path="submodules/linphone/coreapi/help/java"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry kind="lib" path="libs/aXMLRPC.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="libs/aXMLRPC.jar"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.NoTitleBar"
|
||||
android:launchMode="singleTask"
|
||||
android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
|
||||
> <!-- android:alwaysRetainTaskState="true" clearTaskOnLaunch="false"-->
|
||||
|
||||
<intent-filter>
|
||||
|
@ -76,7 +77,7 @@
|
|||
<!-- android:launchMode="singleTask"-->
|
||||
<activity android:name="org.linphone.IncallActivity"
|
||||
android:theme="@android:style/Theme.NoTitleBar"
|
||||
android:screenOrientation="portrait">
|
||||
android:configChanges="keyboardHidden|orientation">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
|
@ -94,14 +95,16 @@
|
|||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="org.linphone.DialerActivity">
|
||||
<activity android:name="org.linphone.DialerActivity"
|
||||
android:configChanges="keyboardHidden|orientation">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="org.linphone.VideoCallActivity"
|
||||
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
|
||||
android:launchMode="singleTop">
|
||||
android:launchMode="singleTop"
|
||||
android:configChanges="orientation">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
</intent-filter>
|
||||
|
|
|
@ -94,6 +94,7 @@ endif
|
|||
|
||||
ifeq ($(wildcard $(linphone-root-dir)/submodules/externals/prebuilts/ffmpeg.mk),)
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg/Android.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android.mk
|
||||
else
|
||||
include $(linphone-root-dir)/submodules/externals/prebuilts/ffmpeg.mk
|
||||
endif
|
||||
|
@ -117,6 +118,7 @@ endif
|
|||
|
||||
|
||||
include $(linphone-root-dir)/submodules/linphone/build/android/Android.mk
|
||||
include $(linphone-root-dir)/submodules/linphone/build/android/Android-no-neon.mk
|
||||
|
||||
_BUILD_AMR=0
|
||||
ifneq ($(BUILD_AMRNB), 0)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
APP_PROJECT_PATH := $(call my-dir)/../
|
||||
APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 liblinphone
|
||||
APP_MODULES :=libspeex libgsm libortp libosip2 libeXosip2 libmediastreamer2 liblinphone liblinphonenoneon
|
||||
APP_STL := stlport_static
|
||||
|
||||
#default values
|
||||
|
@ -14,7 +14,9 @@ BUILD_SRTP=1
|
|||
endif
|
||||
|
||||
ifeq ($(LINPHONE_VIDEO),1)
|
||||
APP_MODULES += libavutil libavcore libavcodec libswscale libvpx
|
||||
APP_MODULES += libavutil libavcore libavcodec libswscale
|
||||
APP_MODULES += libavutilnoneon libavcorenoneon libavcodecnoneon libswscalenoneon
|
||||
APP_MODULES += libvpx
|
||||
endif
|
||||
|
||||
_BUILD_AMR=0
|
||||
|
|
122
res/layout-xlarge/dialer.xml
Normal file
122
res/layout-xlarge/dialer.xml
Normal file
|
@ -0,0 +1,122 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:gravity="bottom|center_horizontal">
|
||||
|
||||
<org.linphone.ui.CameraView
|
||||
android:id="@+id/video_background"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal|bottom"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:id="@+id/Addresslayout">
|
||||
|
||||
<org.linphone.ui.AddressText
|
||||
android:id="@+id/SipUri"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="sip:"
|
||||
android:layout_width="fill_parent"
|
||||
android:lines="1"
|
||||
android:singleLine="true"
|
||||
android:layout_weight="0.2"
|
||||
android:editable="@bool/allow_edit_in_dialer"/>
|
||||
|
||||
<org.linphone.ui.EraseButton
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/Erase"
|
||||
style="@style/DialerDigit"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="0.8"
|
||||
android:text="<"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<org.linphone.ui.Numpad
|
||||
android:id="@+id/Dialer"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="0.5" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="0.5"
|
||||
android:layout_marginLeft="40dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<org.linphone.ui.CallButton
|
||||
android:id="@+id/Call"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="3"
|
||||
android:background="@drawable/clavier_bg"
|
||||
android:src="@drawable/startcall_green" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/InCallControls"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:visibility="gone"
|
||||
android:layout_weight="3" >
|
||||
|
||||
<Button
|
||||
android:id="@+id/AddCall"
|
||||
style="@style/DialerDigit"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/AddCallButtonText" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/Back"
|
||||
style="@style/DialerDigit"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/CancelButtonText" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/switch_camera"
|
||||
style="@style/DialerDigit"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="5"
|
||||
android:visibility="invisible"
|
||||
android:text="@string/menu_videocall_switch_camera_title" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/status_label"
|
||||
android:clickable="false"
|
||||
android:focusable="false"
|
||||
android:cursorVisible="false"
|
||||
android:textSize="12sp"
|
||||
android:background="#00000000"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_weight="7"
|
||||
android:textColor="@android:color/white" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
149
res/layout-xlarge/incall_layout.xml
Normal file
149
res/layout-xlarge/incall_layout.xml
Normal file
|
@ -0,0 +1,149 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:ui="http://schemas.android.com/apk/res/org.linphone"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/conf_header"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginBottom="10dip"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:minHeight="60sp"
|
||||
android:background="@drawable/conf_callee_selector_normal" >
|
||||
|
||||
<TextView
|
||||
android:text="@string/conf_conference"
|
||||
style="@style/callee_address"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center_vertical" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/conf_header_details"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:scaleType="center"
|
||||
android:src="@drawable/conf_details"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/incall_controls_layout"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom|center_horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/toggleMuteMic"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_micro_inverse"
|
||||
ui:unchecked="@drawable/incall_micro"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incallNumpadShow"
|
||||
style="@style/incall_control"
|
||||
android:background="@drawable/incall_dialpad" />
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/toggleSpeaker"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_speaker_inverse"
|
||||
ui:unchecked="@drawable/incall_speaker"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/addCall"
|
||||
style="@style/incall_control"
|
||||
android:background="@drawable/incall_add" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/conf_simple_merge"
|
||||
style="@style/incall_control"
|
||||
android:visibility="gone"
|
||||
android:background="@drawable/incall_merge" />
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/conf_simple_pause"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_pause_inverse"
|
||||
ui:unchecked="@drawable/incall_pause"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/conf_simple_video"
|
||||
style="@style/incall_control"
|
||||
android:text="@string/conf_simple_video_bt_txt"
|
||||
android:background="@drawable/clavier_bg" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incallHang"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/clavier_bg"
|
||||
android:minHeight="60dip"
|
||||
android:src="@drawable/stopcall_red" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/picture_wrapper"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_above="@id/incall_controls_layout">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/incall_picture"
|
||||
android:visibility="gone"
|
||||
android:layout_centerInParent="true"
|
||||
android:paddingBottom="8dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="fitCenter"
|
||||
android:minWidth="120dip"
|
||||
android:minHeight="120dip" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<ListView
|
||||
android:id="@android:id/list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawSelectorOnTop="true"
|
||||
android:dividerHeight="10dip"
|
||||
android:divider="@android:color/transparent"
|
||||
android:layout_below="@id/conf_header"
|
||||
android:layout_above="@id/picture_wrapper"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:fadeScrollbars="false" />
|
||||
|
||||
</RelativeLayout>
|
128
res/layout-xlarge/videocall.xml
Executable file
128
res/layout-xlarge/videocall.xml
Executable file
|
@ -0,0 +1,128 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:ui="http://schemas.android.com/apk/res/org.linphone"
|
||||
android:id="@+id/video_frame"
|
||||
android:layout_height="fill_parent" android:layout_width="fill_parent">
|
||||
|
||||
<org.linphone.mediastream.video.display.GL2JNIView
|
||||
android:visibility="visible"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:id="@+id/video_surface">
|
||||
</org.linphone.mediastream.video.display.GL2JNIView>
|
||||
|
||||
<SurfaceView
|
||||
android:layout_height="148dip"
|
||||
android:layout_width="176dip"
|
||||
android:id="@+id/video_capture_surface"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginBottom="15dip"
|
||||
android:layout_marginRight="15dip" >
|
||||
</SurfaceView>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="88dip"
|
||||
android:layout_height="72dip"
|
||||
android:id="@+id/imageView1"
|
||||
android:src="@drawable/video_muted"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginBottom="15dip"
|
||||
android:layout_marginRight="15dip" >
|
||||
</ImageView>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/QoS"
|
||||
android:src="@drawable/stat_sys_signal_0"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true" >
|
||||
</ImageView>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/incall_controls_layout"
|
||||
android:visibility="gone"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="bottom|center_horizontal">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<Button
|
||||
style="@style/incall_control"
|
||||
android:background="@drawable/clavier_bg"
|
||||
android:id="@+id/switch_camera"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:text="@string/menu_videocall_switch_camera_title" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/toggleMuteMic"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_micro_inverse"
|
||||
ui:unchecked="@drawable/incall_micro"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incallNumpadShow"
|
||||
style="@style/incall_control"
|
||||
android:background="@drawable/incall_dialpad" />
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/toggleSpeaker"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_speaker_inverse"
|
||||
ui:unchecked="@drawable/incall_speaker"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/addCall"
|
||||
style="@style/incall_control"
|
||||
android:background="@drawable/incall_add" />
|
||||
|
||||
<org.linphone.ui.ToggleImageButton
|
||||
android:id="@+id/conf_simple_pause"
|
||||
style="@style/incall_control"
|
||||
ui:checked="@drawable/incall_pause_inverse"
|
||||
ui:unchecked="@drawable/incall_pause"
|
||||
ui:bgdrawables="true" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/conf_simple_video"
|
||||
style="@style/incall_control"
|
||||
android:text="-Video"
|
||||
android:background="@drawable/clavier_bg" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/incallHang"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/clavier_bg"
|
||||
android:minHeight="60dip"
|
||||
android:src="@drawable/stopcall_red" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
|
@ -31,6 +31,7 @@ import org.linphone.core.LinphoneCall;
|
|||
import org.linphone.core.LinphoneCall.State;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.ui.ToggleImageButton;
|
||||
|
||||
import android.app.ListActivity;
|
||||
import android.net.Uri;
|
||||
|
@ -85,6 +86,11 @@ public abstract class AbstractCalleesActivity extends ListActivity implements Li
|
|||
View speaker = findViewById(R.id.toggleSpeaker);
|
||||
speaker.setOnClickListener(this);
|
||||
mSpeakerButton = (Checkable) speaker;
|
||||
if (LinphoneManager.getInstance().isSpeakerOn())
|
||||
{
|
||||
((ToggleImageButton) speaker).setChecked(true);
|
||||
speaker.setEnabled(false);
|
||||
}
|
||||
super.onCreate(savedInstanceState);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,11 +25,15 @@ import org.linphone.LinphoneService.LinphoneGuiListener;
|
|||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.LinphoneCall.State;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
import org.linphone.core.LinphoneCoreException;
|
||||
import org.linphone.core.LinphoneProxyConfig;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.mediastream.Version;
|
||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
||||
import org.linphone.ui.AddressAware;
|
||||
import org.linphone.ui.AddressText;
|
||||
import org.linphone.ui.CallButton;
|
||||
import org.linphone.ui.CameraView;
|
||||
import org.linphone.ui.EraseButton;
|
||||
|
||||
import android.app.Activity;
|
||||
|
@ -37,6 +41,9 @@ import android.app.AlertDialog;
|
|||
import android.app.Dialog;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.hardware.Camera;
|
||||
import android.hardware.Camera.CameraInfo;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
|
@ -46,6 +53,7 @@ import android.view.View;
|
|||
import android.view.View.OnClickListener;
|
||||
import android.widget.Adapter;
|
||||
import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.ListAdapter;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
|
@ -72,6 +80,8 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
|
||||
private AddressText mAddress;
|
||||
private CallButton mCall;
|
||||
private Button mBack, mAddCall, mSwitchCamera;
|
||||
private LinearLayout mInCallControls;
|
||||
|
||||
private static DialerActivity instance;
|
||||
private boolean mPreventDoubleCallOnRotation;
|
||||
|
@ -80,6 +90,12 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
protected String username;
|
||||
private String key;
|
||||
|
||||
private CameraView mVideoCaptureView;
|
||||
private int mCurrentCameraId = 0;
|
||||
|
||||
private Camera mCamera;
|
||||
|
||||
|
||||
private static final String CURRENT_ADDRESS = "org.linphone.current-address";
|
||||
private static final String CURRENT_DISPLAYNAME = "org.linphone.current-displayname";
|
||||
private static final String PREVENT_DOUBLE_CALL = "prevent_call_on_phone_rotation";
|
||||
|
@ -189,17 +205,25 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
}
|
||||
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
if (Version.isXLargeScreen(this)) {
|
||||
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||
}
|
||||
setContentView(R.layout.dialer);
|
||||
|
||||
mAddress = (AddressText) findViewById(R.id.SipUri);
|
||||
((EraseButton) findViewById(R.id.Erase)).setAddressWidget(mAddress);
|
||||
|
||||
EraseButton erase = (EraseButton) findViewById(R.id.Erase);
|
||||
erase.setAddressWidget(mAddress);
|
||||
erase.requestFocus();
|
||||
|
||||
mCall = (CallButton) findViewById(R.id.Call);
|
||||
mCall.setAddressWidget(mAddress);
|
||||
|
||||
mBack = (Button) findViewById(R.id.Back);
|
||||
mAddCall = (Button) findViewById(R.id.AddCall);
|
||||
mInCallControls = (LinearLayout) findViewById(R.id.InCallControls);
|
||||
mStatus = (TextView) findViewById(R.id.status_label);
|
||||
|
||||
tryToInitTabletUI();
|
||||
|
||||
SlidingDrawer drawer = (SlidingDrawer) findViewById(R.id.drawer);
|
||||
if (drawer != null) {
|
||||
drawer.setOnDrawerScrollListener(new OnDrawerScrollListener() {
|
||||
|
@ -235,9 +259,83 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
verifiyAccountsActivated();
|
||||
|
||||
displayRegisterStatus();
|
||||
mCall.requestFocus();
|
||||
}
|
||||
|
||||
|
||||
private synchronized void tryToInitTabletUI() {
|
||||
final int numberOfCameras = Camera.getNumberOfCameras();
|
||||
|
||||
CameraInfo cameraInfo = new CameraInfo();
|
||||
for (int i = 0; i < numberOfCameras; i++) {
|
||||
Camera.getCameraInfo(i, cameraInfo);
|
||||
if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
|
||||
mCurrentCameraId = i;
|
||||
}
|
||||
}
|
||||
|
||||
mVideoCaptureView = (CameraView) findViewById(R.id.video_background);
|
||||
if (mVideoCaptureView != null)
|
||||
{
|
||||
if (mCamera == null) {
|
||||
mCamera = Camera.open(mCurrentCameraId);
|
||||
}
|
||||
mVideoCaptureView.setCamera(mCamera, mCurrentCameraId);
|
||||
mCamera.startPreview();
|
||||
}
|
||||
|
||||
mSwitchCamera = (Button) findViewById(R.id.switch_camera);
|
||||
if (mSwitchCamera != null)
|
||||
{
|
||||
if (AndroidCameraConfiguration.hasSeveralCameras())
|
||||
mSwitchCamera.setVisibility(View.VISIBLE);
|
||||
|
||||
mSwitchCamera.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
mCurrentCameraId = (mCurrentCameraId + 1) % numberOfCameras;
|
||||
mCamera.release();
|
||||
mVideoCaptureView.setCamera(null, -1);
|
||||
|
||||
mCamera = Camera.open(mCurrentCameraId);
|
||||
mVideoCaptureView.switchCamera(mCamera, mCurrentCameraId);
|
||||
mCamera.startPreview();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (mBack != null) {
|
||||
mBack.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
LinphoneCall call = LinphoneManager.getLc().getCurrentCall();
|
||||
if (call.getCurrentParamsCopy().getVideoEnabled())
|
||||
LinphoneActivity.instance().startVideoActivity(call, 0);
|
||||
else
|
||||
LinphoneActivity.instance().startIncallActivity();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (mAddCall != null) {
|
||||
mAddCall.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
LinphoneCall call = LinphoneManager.getLc().getCurrentCall();
|
||||
if (call != null && !call.isInConference()) {
|
||||
LinphoneManager.getLc().pauseCall(call);
|
||||
} else {
|
||||
LinphoneManager.getLc().leaveConference();
|
||||
}
|
||||
|
||||
try {
|
||||
LinphoneManager.getLc().invite(mAddress.getText().toString());
|
||||
} catch (LinphoneCoreException e) {
|
||||
Log.e(e);
|
||||
Toast.makeText(DialerActivity.this, R.string.error_adding_new_call, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private void checkIfOutgoingCallIntentReceived() {
|
||||
if (getIntent().getData() == null) return;
|
||||
|
||||
|
@ -256,7 +354,16 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
|
||||
if (mCamera != null) {
|
||||
mCamera.release();
|
||||
mVideoCaptureView.setCamera(null, -1);
|
||||
mCamera = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -361,7 +468,21 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onCallStateChanged(LinphoneCall call, State s, String m) {}
|
||||
public void onCallStateChanged(LinphoneCall call, State s, String m) {
|
||||
if (mVideoCaptureView != null && mCamera == null && !LinphoneManager.getLc().isIncall())
|
||||
{
|
||||
if (mInCallControls != null)
|
||||
mInCallControls.setVisibility(View.GONE);
|
||||
mCall.setVisibility(View.VISIBLE);
|
||||
|
||||
if (AndroidCameraConfiguration.hasSeveralCameras() && mSwitchCamera != null)
|
||||
mSwitchCamera.setVisibility(View.VISIBLE);
|
||||
|
||||
mCamera = Camera.open(mCurrentCameraId);
|
||||
mVideoCaptureView.switchCamera(mCamera, mCurrentCameraId);
|
||||
mCamera.startPreview();
|
||||
}
|
||||
}
|
||||
|
||||
public void onGlobalStateChangedToOn(String message) {
|
||||
mCall.setEnabled(!LinphoneManager.getLc().isIncall());
|
||||
|
@ -382,6 +503,29 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
mStatus.setText(LinphoneManager.getInstance().getLastLcStatusMessage());
|
||||
|
||||
super.onResume();
|
||||
|
||||
if (mInCallControls != null)
|
||||
mInCallControls.setVisibility(View.GONE);
|
||||
mCall.setVisibility(View.VISIBLE);
|
||||
|
||||
if (AndroidCameraConfiguration.hasSeveralCameras() && mSwitchCamera != null)
|
||||
mSwitchCamera.setVisibility(View.VISIBLE);
|
||||
|
||||
if (mVideoCaptureView != null && mCamera == null && !LinphoneManager.getLc().isIncall())
|
||||
{
|
||||
mCamera = Camera.open(mCurrentCameraId);
|
||||
mVideoCaptureView.switchCamera(mCamera, mCurrentCameraId);
|
||||
mCamera.startPreview();
|
||||
} else if (LinphoneManager.getLc().isIncall())
|
||||
{
|
||||
if (mInCallControls != null) {
|
||||
mInCallControls.setVisibility(View.VISIBLE);
|
||||
mCall.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
if (mSwitchCamera != null)
|
||||
mSwitchCamera.setVisibility(View.INVISIBLE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -390,5 +534,4 @@ public class DialerActivity extends Activity implements LinphoneGuiListener {
|
|||
if (LinphoneUtils.onKeyVolumeSoftAdjust(keyCode)) return true;
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -42,8 +42,11 @@ import org.linphone.ui.Numpad;
|
|||
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.os.CountDownTimer;
|
||||
|
@ -113,6 +116,9 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
if (finishIfAutoRestartAfterACrash(savedInstanceState)) {
|
||||
return;
|
||||
}
|
||||
if (!Version.isXLargeScreen(this))
|
||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
|
||||
|
||||
setContentView(R.layout.incall_layout);
|
||||
instance = this;
|
||||
|
||||
|
@ -318,7 +324,7 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.addCall:
|
||||
openUriPicker(UriPickerActivity.EXTRA_PICKER_TYPE_ADD, addCallId);
|
||||
finish();
|
||||
break;
|
||||
case R.id.incallHang:
|
||||
terminateCurrentCallOrConferenceOrAll();
|
||||
|
@ -346,7 +352,8 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
((Checkable) v).setChecked(true);
|
||||
List<LinphoneCall> pausedCalls = LinphoneUtils.getCallsInState(lc(), Arrays.asList(State.Paused));
|
||||
if (pausedCalls.size() == 1) {
|
||||
lc().resumeCall(pausedCalls.get(0));
|
||||
LinphoneCall callToResume = pausedCalls.get(0);
|
||||
lc().resumeCall(callToResume);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -588,6 +595,11 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
} else if (lc().soundResourcesLocked()) {
|
||||
return;
|
||||
} else if (State.Paused == actualState) {
|
||||
if (call != null && call.cameraEnabled() && call.getCurrentParamsCopy().getVideoEnabled())
|
||||
{
|
||||
finish();
|
||||
LinphoneActivity.instance().startVideoActivity(call, 0);
|
||||
}
|
||||
lc().resumeCall(call);
|
||||
}
|
||||
}
|
||||
|
@ -652,6 +664,18 @@ public class IncallActivity extends AbstractCalleesActivity implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig)
|
||||
{
|
||||
if (!Version.isXLargeScreen(this))
|
||||
{
|
||||
// Do nothing to not recreate the activity on smartphone if screen is rotated
|
||||
super.onConfigurationChanged(null);
|
||||
return;
|
||||
}
|
||||
super.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
private void updateConfItem() {
|
||||
boolean confExists = lc().getConferenceSize() > 0;
|
||||
View confView = findViewById(R.id.conf_header);
|
||||
|
|
|
@ -141,6 +141,9 @@ public class IncomingCallActivity extends Activity implements LinphoneOnCallStat
|
|||
// the above method takes care of Samsung Galaxy S
|
||||
Toast.makeText(this, R.string.couldnt_accept_call, Toast.LENGTH_LONG);
|
||||
} else {
|
||||
if (mCall.getCurrentParamsCopy().getVideoEnabled())
|
||||
LinphoneActivity.instance().startVideoActivity(mCall, 0);
|
||||
else
|
||||
LinphoneActivity.instance().startIncallActivity();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,10 +23,10 @@ import static android.content.Intent.ACTION_MAIN;
|
|||
|
||||
import org.linphone.LinphoneSimpleListener.LinphoneOnCallStateChangedListener;
|
||||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.core.LinphoneCall.State;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.mediastream.Version;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
|
@ -46,10 +46,10 @@ import android.view.Menu;
|
|||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.OrientationEventListener;
|
||||
import android.widget.TabHost.TabSpec;
|
||||
import android.widget.TabWidget;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
import android.widget.TabHost.TabSpec;
|
||||
|
||||
public class LinphoneActivity extends TabActivity implements ContactPicked
|
||||
, LinphoneOnCallStateChangedListener
|
||||
|
@ -190,6 +190,15 @@ public class LinphoneActivity extends TabActivity implements ContactPicked
|
|||
if(LinphoneManager.getLc().isInComingInvitePending()) {
|
||||
startIncomingCallActivity();
|
||||
} else {
|
||||
LinphoneCall currentCall = LinphoneManager.getLc().getCurrentCall();
|
||||
if (currentCall == null)
|
||||
return;
|
||||
|
||||
if (currentCall.getCurrentParamsCopy().getVideoEnabled()) {
|
||||
currentCall.enableCamera(true);
|
||||
startVideoActivity(currentCall, 0);
|
||||
}
|
||||
else
|
||||
startIncallActivity();
|
||||
}
|
||||
return;
|
||||
|
@ -461,31 +470,44 @@ public class LinphoneActivity extends TabActivity implements ContactPicked
|
|||
}
|
||||
|
||||
if (state==State.IncomingReceived) {
|
||||
if (call.getCurrentParamsCopy().getVideoEnabled()) startOrientationSensor();
|
||||
if (call.getCurrentParamsCopy().getVideoEnabled())
|
||||
startOrientationSensor();
|
||||
startIncomingCallActivity();
|
||||
}
|
||||
if (state == State.OutgoingInit) {
|
||||
if (call.getCurrentParamsCopy().getVideoEnabled()) startOrientationSensor();
|
||||
if (call.getCurrentParamsCopy().getVideoEnabled()) {
|
||||
startOrientationSensor();
|
||||
startVideoActivity(call, 0);
|
||||
} else {
|
||||
startIncallActivity();
|
||||
}
|
||||
}
|
||||
|
||||
if (state == LinphoneCall.State.StreamsRunning && Version.isVideoCapable() && !call.isInConference()) {
|
||||
// call.cameraEnabled() contains the wish of the user
|
||||
// set in LinphoneManager#onCallStateChanged(OutgoingInit||IncomingReceived)
|
||||
boolean videoEnabled = call.cameraEnabled() && call.getCurrentParamsCopy().getVideoEnabled();
|
||||
boolean videoEnabled = call.getCurrentParamsCopy().getVideoEnabled();
|
||||
if (videoEnabled) {
|
||||
startVideoActivity(call, 1000);
|
||||
finishActivity(incall_activity);
|
||||
startVideoActivity(call, 0);
|
||||
} else {
|
||||
finishActivity(video_activity);
|
||||
startIncallActivity();
|
||||
}
|
||||
}
|
||||
|
||||
if (state == LinphoneCall.State.CallUpdatedByRemote && Version.isVideoCapable()) {
|
||||
if (VideoCallActivity.launched && !call.getCurrentParamsCopy().getVideoEnabled()) {
|
||||
finishActivity(video_activity);
|
||||
startIncallActivity();
|
||||
}
|
||||
}
|
||||
|
||||
if (state == LinphoneCall.State.PausedByRemote) {
|
||||
finishActivity(video_activity);
|
||||
startIncallActivity();
|
||||
}
|
||||
|
||||
if (state==State.Error){
|
||||
showToast(R.string.call_error, message);
|
||||
}
|
||||
|
|
|
@ -618,6 +618,12 @@ public class LinphonePreferencesActivity extends PreferenceActivity implements E
|
|||
|
||||
|
||||
detectVideoCodec(R.string.pref_video_codec_h264_key, "H264");
|
||||
if (!Version.hasNeon())
|
||||
{
|
||||
// Android without neon doesn't support H264
|
||||
findPreference(R.string.pref_video_codec_h264_key).setEnabled(false);
|
||||
findPreference(R.string.pref_video_codec_h264_key).setDefaultValue(false);
|
||||
}
|
||||
|
||||
addEchoPrefsListener();
|
||||
|
||||
|
|
|
@ -18,51 +18,76 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
*/
|
||||
package org.linphone;
|
||||
|
||||
|
||||
|
||||
import org.linphone.LinphoneSimpleListener.LinphoneOnCallStateChangedListener;
|
||||
import org.linphone.core.LinphoneCall;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.core.LinphoneCall.State;
|
||||
import org.linphone.core.LinphoneCallParams;
|
||||
import org.linphone.core.Log;
|
||||
import org.linphone.mediastream.Version;
|
||||
import org.linphone.mediastream.video.AndroidVideoWindowImpl;
|
||||
import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
|
||||
import org.linphone.ui.Numpad;
|
||||
import org.linphone.ui.ToggleImageButton;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.res.Configuration;
|
||||
import android.opengl.GLSurfaceView;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.PowerManager;
|
||||
import android.os.PowerManager.WakeLock;
|
||||
import android.view.Display;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.Surface;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.View.OnTouchListener;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.Checkable;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.RelativeLayout;
|
||||
import android.widget.RelativeLayout.LayoutParams;
|
||||
|
||||
/**
|
||||
* For Android SDK >= 5
|
||||
*
|
||||
* @author Guillaume Beraudo
|
||||
*
|
||||
*/
|
||||
public class VideoCallActivity extends Activity implements LinphoneOnCallStateChangedListener {
|
||||
public class VideoCallActivity extends Activity implements
|
||||
LinphoneOnCallStateChangedListener, OnClickListener {
|
||||
private final static int DELAY_BEFORE_HIDING_CONTROLS = 2000;
|
||||
private static final int numpadDialogId = 1;
|
||||
|
||||
private SurfaceView mVideoViewReady;
|
||||
private SurfaceView mVideoCaptureViewReady;
|
||||
public static boolean launched = false;
|
||||
private LinphoneCall videoCall;
|
||||
private WakeLock mWakeLock;
|
||||
private Handler refreshHandler = new Handler();
|
||||
|
||||
private Handler controlsHandler = new Handler();
|
||||
AndroidVideoWindowImpl androidVideoWindowImpl;
|
||||
private Runnable mCallQualityUpdater;
|
||||
private Runnable mCallQualityUpdater, mControls;
|
||||
private LinearLayout mControlsLayout;
|
||||
private boolean shouldRestartVideoOnResume = false;
|
||||
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (!LinphoneManager.isInstanciated() || LinphoneManager.getLc().getCallsNb() == 0) {
|
||||
Log.e("No service running: avoid crash by finishing ", getClass().getName());
|
||||
if (!LinphoneManager.isInstanciated()
|
||||
|| LinphoneManager.getLc().getCallsNb() == 0) {
|
||||
Log.e("No service running: avoid crash by finishing ", getClass()
|
||||
.getName());
|
||||
// super.onCreate called earlier
|
||||
finish();
|
||||
return;
|
||||
|
@ -72,36 +97,44 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
|
||||
SurfaceView videoView = (SurfaceView) findViewById(R.id.video_surface);
|
||||
|
||||
//((FrameLayout) findViewById(R.id.video_frame)).bringChildToFront(findViewById(R.id.imageView1));
|
||||
// ((FrameLayout)
|
||||
// findViewById(R.id.video_frame)).bringChildToFront(findViewById(R.id.imageView1));
|
||||
|
||||
SurfaceView captureView = (SurfaceView) findViewById(R.id.video_capture_surface);
|
||||
captureView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
|
||||
captureView.getHolder()
|
||||
.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
|
||||
|
||||
/* force surfaces Z ordering */
|
||||
fixZOrder(videoView, captureView);
|
||||
|
||||
androidVideoWindowImpl = new AndroidVideoWindowImpl(videoView, captureView);
|
||||
androidVideoWindowImpl.setListener(new AndroidVideoWindowImpl.VideoWindowListener() {
|
||||
androidVideoWindowImpl = new AndroidVideoWindowImpl(videoView,
|
||||
captureView);
|
||||
androidVideoWindowImpl
|
||||
.setListener(new AndroidVideoWindowImpl.VideoWindowListener() {
|
||||
|
||||
public void onVideoRenderingSurfaceReady(AndroidVideoWindowImpl vw, SurfaceView surface) {
|
||||
public void onVideoRenderingSurfaceReady(
|
||||
AndroidVideoWindowImpl vw, SurfaceView surface) {
|
||||
LinphoneManager.getLc().setVideoWindow(vw);
|
||||
mVideoViewReady = surface;
|
||||
}
|
||||
|
||||
public void onVideoRenderingSurfaceDestroyed(AndroidVideoWindowImpl vw) {
|
||||
public void onVideoRenderingSurfaceDestroyed(
|
||||
AndroidVideoWindowImpl vw) {
|
||||
Log.d("VIDEO WINDOW destroyed!\n");
|
||||
LinphoneManager.getLc().setVideoWindow(null);
|
||||
}
|
||||
|
||||
public void onVideoPreviewSurfaceReady(AndroidVideoWindowImpl vw, SurfaceView surface) {
|
||||
public void onVideoPreviewSurfaceReady(
|
||||
AndroidVideoWindowImpl vw, SurfaceView surface) {
|
||||
mVideoCaptureViewReady = surface;
|
||||
LinphoneManager.getLc().setPreviewWindow(mVideoCaptureViewReady);
|
||||
LinphoneManager.getLc().setPreviewWindow(
|
||||
mVideoCaptureViewReady);
|
||||
}
|
||||
|
||||
public void onVideoPreviewSurfaceDestroyed(AndroidVideoWindowImpl vw) {
|
||||
public void onVideoPreviewSurfaceDestroyed(
|
||||
AndroidVideoWindowImpl vw) {
|
||||
// Remove references kept in jni code and restart camera
|
||||
// LinphoneManager.getLc().setPreviewWindow(null);
|
||||
// Commented to remove flicker.
|
||||
LinphoneManager.getLc().setPreviewWindow(null);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -110,7 +143,8 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
videoCall = LinphoneManager.getLc().getCurrentCall();
|
||||
if (videoCall != null) {
|
||||
LinphoneManager lm = LinphoneManager.getInstance();
|
||||
if (!lm.shareMyCamera() && !lm.isVideoInitiator() && videoCall.cameraEnabled()) {
|
||||
if (!lm.shareMyCamera() && !lm.isVideoInitiator()
|
||||
&& videoCall.cameraEnabled()) {
|
||||
lm.sendStaticImage(true);
|
||||
}
|
||||
|
||||
|
@ -118,81 +152,80 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
}
|
||||
|
||||
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
||||
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK|PowerManager.ON_AFTER_RELEASE,Log.TAG);
|
||||
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK
|
||||
| PowerManager.ON_AFTER_RELEASE, Log.TAG);
|
||||
mWakeLock.acquire();
|
||||
|
||||
mControlsLayout = (LinearLayout) findViewById(R.id.incall_controls_layout);
|
||||
videoView.setOnTouchListener(new OnTouchListener() {
|
||||
public boolean onTouch(View v, MotionEvent event) {
|
||||
if (mControlsLayout != null
|
||||
&& mControlsLayout.getVisibility() == View.GONE) {
|
||||
mControlsLayout.setVisibility(View.VISIBLE);
|
||||
controlsHandler.postDelayed(mControls = new Runnable() {
|
||||
public void run() {
|
||||
mControlsLayout.setVisibility(View.GONE);
|
||||
}
|
||||
}, DELAY_BEFORE_HIDING_CONTROLS);
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
if (!AndroidCameraConfiguration.hasSeveralCameras()) {
|
||||
findViewById(R.id.switch_camera).setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
void updateQualityOfSignalIcon(float quality)
|
||||
{
|
||||
if (Version.isXLargeScreen(this)) {
|
||||
findViewById(R.id.toggleMuteMic).setOnClickListener(this);
|
||||
findViewById(R.id.toggleSpeaker).setOnClickListener(this);
|
||||
findViewById(R.id.incallNumpadShow).setOnClickListener(this);
|
||||
findViewById(R.id.addCall).setOnClickListener(this);
|
||||
findViewById(R.id.incallHang).setOnClickListener(this);
|
||||
findViewById(R.id.switch_camera).setOnClickListener(this);
|
||||
findViewById(R.id.conf_simple_pause).setOnClickListener(this);
|
||||
findViewById(R.id.conf_simple_video).setOnClickListener(this);
|
||||
|
||||
if (LinphoneManager.getInstance().isSpeakerOn()) {
|
||||
ToggleImageButton speaker = (ToggleImageButton) findViewById(R.id.toggleSpeaker);
|
||||
speaker.setChecked(true);
|
||||
speaker.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Hack to force the redraw of the preview
|
||||
// Camera will be re-enabled in onResume just after anyway
|
||||
shouldRestartVideoOnResume = true;
|
||||
LinphoneManager.getLc().getCurrentCall().enableCamera(false);
|
||||
}
|
||||
|
||||
void updateQualityOfSignalIcon(float quality) {
|
||||
ImageView qos = (ImageView) findViewById(R.id.QoS);
|
||||
if (quality >= 4) // Good Quality
|
||||
{
|
||||
qos.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_signal_4));
|
||||
}
|
||||
else if (quality >= 3) // Average quality
|
||||
qos.setImageDrawable(getResources().getDrawable(
|
||||
R.drawable.stat_sys_signal_4));
|
||||
} else if (quality >= 3) // Average quality
|
||||
{
|
||||
qos.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_signal_3));
|
||||
}
|
||||
else if (quality >= 2) // Low quality
|
||||
qos.setImageDrawable(getResources().getDrawable(
|
||||
R.drawable.stat_sys_signal_3));
|
||||
} else if (quality >= 2) // Low quality
|
||||
{
|
||||
qos.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_signal_2));
|
||||
}
|
||||
else if (quality >= 1) // Very low quality
|
||||
qos.setImageDrawable(getResources().getDrawable(
|
||||
R.drawable.stat_sys_signal_2));
|
||||
} else if (quality >= 1) // Very low quality
|
||||
{
|
||||
qos.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_signal_1));
|
||||
}
|
||||
else // Worst quality
|
||||
qos.setImageDrawable(getResources().getDrawable(
|
||||
R.drawable.stat_sys_signal_1));
|
||||
} else // Worst quality
|
||||
{
|
||||
qos.setImageDrawable(getResources().getDrawable(R.drawable.stat_sys_signal_0));
|
||||
qos.setImageDrawable(getResources().getDrawable(
|
||||
R.drawable.stat_sys_signal_0));
|
||||
}
|
||||
}
|
||||
|
||||
void updatePreview(boolean cameraCaptureEnabled) {
|
||||
mVideoCaptureViewReady = null;
|
||||
if (cameraCaptureEnabled) {
|
||||
findViewById(R.id.imageView1).setVisibility(View.INVISIBLE);
|
||||
findViewById(R.id.video_capture_surface).setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
findViewById(R.id.video_capture_surface).setVisibility(View.INVISIBLE);
|
||||
findViewById(R.id.imageView1).setVisibility(View.VISIBLE);
|
||||
}
|
||||
findViewById(R.id.video_frame).requestLayout();
|
||||
}
|
||||
|
||||
void fixZOrder(SurfaceView video, SurfaceView preview) {
|
||||
video.setZOrderOnTop(false);
|
||||
preview.setZOrderOnTop(true);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (mVideoViewReady != null)
|
||||
((GLSurfaceView)mVideoViewReady).onResume();
|
||||
launched=true;
|
||||
LinphoneManager.addListener(this);
|
||||
refreshHandler.postDelayed(mCallQualityUpdater=new Runnable(){
|
||||
LinphoneCall mCurrentCall=LinphoneManager.getLc().getCurrentCall();
|
||||
public void run() {
|
||||
if (mCurrentCall==null){
|
||||
mCallQualityUpdater=null;
|
||||
return;
|
||||
}
|
||||
int oldQuality = 0;
|
||||
float newQuality = mCurrentCall.getCurrentQuality();
|
||||
if ((int) newQuality != oldQuality){
|
||||
updateQualityOfSignalIcon(newQuality);
|
||||
}
|
||||
if (launched){
|
||||
refreshHandler.postDelayed(this, 1000);
|
||||
}else mCallQualityUpdater=null;
|
||||
}
|
||||
},1000);
|
||||
}
|
||||
|
||||
|
||||
private void rewriteToggleCameraItem(MenuItem item) {
|
||||
if (LinphoneManager.getLc().getCurrentCall().cameraEnabled()) {
|
||||
item.setTitle(getString(R.string.menu_videocall_toggle_camera_disable));
|
||||
|
@ -201,7 +234,6 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private void rewriteChangeResolutionItem(MenuItem item) {
|
||||
if (BandwidthManager.getInstance().isUserRestriction()) {
|
||||
item.setTitle(getString(R.string.menu_videocall_change_resolution_when_low_resolution));
|
||||
|
@ -210,15 +242,19 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
if (Version.isXLargeScreen(this))
|
||||
return false;
|
||||
|
||||
// Inflate the currently selected menu XML resource.
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.videocall_activity_menu, menu);
|
||||
|
||||
rewriteToggleCameraItem(menu.findItem(R.id.videocall_menu_toggle_camera));
|
||||
rewriteChangeResolutionItem(menu.findItem(R.id.videocall_menu_change_resolution));
|
||||
rewriteToggleCameraItem(menu
|
||||
.findItem(R.id.videocall_menu_toggle_camera));
|
||||
rewriteChangeResolutionItem(menu
|
||||
.findItem(R.id.videocall_menu_change_resolution));
|
||||
|
||||
if (!AndroidCameraConfiguration.hasSeveralCameras()) {
|
||||
menu.findItem(R.id.videocall_menu_switch_camera).setVisible(false);
|
||||
|
@ -231,26 +267,32 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
switch (item.getItemId()) {
|
||||
case R.id.videocall_menu_back_to_dialer:
|
||||
finish();
|
||||
LinphoneActivity.instance().startIncallActivity();
|
||||
break;
|
||||
case R.id.videocall_menu_change_resolution:
|
||||
LinphoneManager.getInstance().changeResolution();
|
||||
// previous call will cause graph reconstruction -> regive preview window
|
||||
// previous call will cause graph reconstruction -> regive preview
|
||||
// window
|
||||
if (mVideoCaptureViewReady != null)
|
||||
LinphoneManager.getLc().setPreviewWindow(mVideoCaptureViewReady);
|
||||
LinphoneManager.getLc()
|
||||
.setPreviewWindow(mVideoCaptureViewReady);
|
||||
rewriteChangeResolutionItem(item);
|
||||
break;
|
||||
case R.id.videocall_menu_terminate_call:
|
||||
LinphoneManager.getInstance().terminateCall();
|
||||
break;
|
||||
case R.id.videocall_menu_toggle_camera:
|
||||
boolean camEnabled = LinphoneManager.getInstance().toggleEnableCamera();
|
||||
boolean camEnabled = LinphoneManager.getInstance()
|
||||
.toggleEnableCamera();
|
||||
updatePreview(camEnabled);
|
||||
Log.e("winwow camera enabled: " + camEnabled);
|
||||
rewriteToggleCameraItem(item);
|
||||
// previous call will cause graph reconstruction -> regive preview window
|
||||
// previous call will cause graph reconstruction -> regive preview
|
||||
// window
|
||||
if (camEnabled) {
|
||||
if (mVideoCaptureViewReady != null)
|
||||
LinphoneManager.getLc().setPreviewWindow(mVideoCaptureViewReady);
|
||||
LinphoneManager.getLc().setPreviewWindow(
|
||||
mVideoCaptureViewReady);
|
||||
} else
|
||||
LinphoneManager.getLc().setPreviewWindow(null);
|
||||
break;
|
||||
|
@ -259,9 +301,11 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
id = (id + 1) % AndroidCameraConfiguration.retrieveCameras().length;
|
||||
LinphoneManager.getLc().setVideoDevice(id);
|
||||
CallManager.getInstance().updateCall();
|
||||
// previous call will cause graph reconstruction -> regive preview window
|
||||
// previous call will cause graph reconstruction -> regive preview
|
||||
// window
|
||||
if (mVideoCaptureViewReady != null)
|
||||
LinphoneManager.getLc().setPreviewWindow(mVideoCaptureViewReady);
|
||||
LinphoneManager.getLc()
|
||||
.setPreviewWindow(mVideoCaptureViewReady);
|
||||
break;
|
||||
default:
|
||||
Log.e("Unknown menu item [", item, "]");
|
||||
|
@ -270,15 +314,79 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
return true;
|
||||
}
|
||||
|
||||
void updatePreview(boolean cameraCaptureEnabled) {
|
||||
mVideoCaptureViewReady = null;
|
||||
if (cameraCaptureEnabled) {
|
||||
findViewById(R.id.imageView1).setVisibility(View.INVISIBLE);
|
||||
findViewById(R.id.video_capture_surface)
|
||||
.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
findViewById(R.id.video_capture_surface).setVisibility(
|
||||
View.INVISIBLE);
|
||||
findViewById(R.id.imageView1).setVisibility(View.VISIBLE);
|
||||
}
|
||||
findViewById(R.id.video_frame).requestLayout();
|
||||
}
|
||||
|
||||
void fixZOrder(SurfaceView video, SurfaceView preview) {
|
||||
video.setZOrderOnTop(false);
|
||||
preview.setZOrderOnTop(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (mVideoViewReady != null)
|
||||
((GLSurfaceView) mVideoViewReady).onResume();
|
||||
synchronized (androidVideoWindowImpl) {
|
||||
LinphoneManager.getLc().setVideoWindow(androidVideoWindowImpl);
|
||||
}
|
||||
launched = true;
|
||||
LinphoneManager.addListener(this);
|
||||
|
||||
refreshHandler.postDelayed(mCallQualityUpdater = new Runnable() {
|
||||
LinphoneCall mCurrentCall = LinphoneManager.getLc()
|
||||
.getCurrentCall();
|
||||
|
||||
public void run() {
|
||||
if (mCurrentCall == null) {
|
||||
mCallQualityUpdater = null;
|
||||
return;
|
||||
}
|
||||
int oldQuality = 0;
|
||||
float newQuality = mCurrentCall.getCurrentQuality();
|
||||
if ((int) newQuality != oldQuality) {
|
||||
updateQualityOfSignalIcon(newQuality);
|
||||
}
|
||||
if (launched) {
|
||||
refreshHandler.postDelayed(this, 1000);
|
||||
} else
|
||||
mCallQualityUpdater = null;
|
||||
}
|
||||
}, 1000);
|
||||
|
||||
if (mControlsLayout != null)
|
||||
mControlsLayout.setVisibility(View.GONE);
|
||||
|
||||
if (shouldRestartVideoOnResume) {
|
||||
LinphoneManager.getLc().getCurrentCall().enableCamera(true);
|
||||
shouldRestartVideoOnResume = false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (LinphoneUtils.onKeyVolumeSoftAdjust(keyCode)) return true;
|
||||
if (LinphoneUtils.onKeyVolumeSoftAdjust(keyCode))
|
||||
return true;
|
||||
if (Version.isXLargeScreen(this) && LinphoneUtils.onKeyBackGoHome(this, keyCode, event))
|
||||
return true;
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
if (androidVideoWindowImpl != null) { // Prevent linphone from crashing if correspondent hang up while you are rotating
|
||||
if (androidVideoWindowImpl != null) { // Prevent linphone from crashing
|
||||
// if correspondent hang up
|
||||
// while you are rotating
|
||||
androidVideoWindowImpl.release();
|
||||
}
|
||||
super.onDestroy();
|
||||
|
@ -286,15 +394,22 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
Log.d("onPause VideoCallActivity (isFinishing:", isFinishing(), ", inCall:", LinphoneManager.getLc().isIncall(),")");
|
||||
Log.d("onPause VideoCallActivity (isFinishing:", isFinishing(),
|
||||
", inCall:", LinphoneManager.getLc().isIncall(), ")");
|
||||
LinphoneManager.removeListener(this);
|
||||
if (isFinishing()) {
|
||||
videoCall = null; // release reference
|
||||
} else {
|
||||
// Send NoWebcam since Android 4.0 can't get the video from the
|
||||
// webcam if the activity is not in foreground
|
||||
shouldRestartVideoOnResume = true;
|
||||
LinphoneManager.getLc().getCurrentCall().enableCamera(false);
|
||||
}
|
||||
launched = false;
|
||||
synchronized (androidVideoWindowImpl) {
|
||||
/* this call will destroy native opengl renderer
|
||||
* which is used by androidVideoWindowImpl
|
||||
/*
|
||||
* this call will destroy native opengl renderer which is used by
|
||||
* androidVideoWindowImpl
|
||||
*/
|
||||
LinphoneManager.getLc().setVideoWindow(null);
|
||||
}
|
||||
|
@ -303,8 +418,13 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
refreshHandler.removeCallbacks(mCallQualityUpdater);
|
||||
mCallQualityUpdater = null;
|
||||
}
|
||||
if (mControls != null) {
|
||||
controlsHandler.removeCallbacks(mControls);
|
||||
mControls = null;
|
||||
}
|
||||
|
||||
if (mWakeLock.isHeld()) mWakeLock.release();
|
||||
if (mWakeLock.isHeld())
|
||||
mWakeLock.release();
|
||||
super.onPause();
|
||||
if (mVideoViewReady != null)
|
||||
((GLSurfaceView) mVideoViewReady).onPause();
|
||||
|
@ -319,4 +439,123 @@ public class VideoCallActivity extends Activity implements LinphoneOnCallStateCh
|
|||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
private void resizePreview() {
|
||||
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE))
|
||||
.getDefaultDisplay();
|
||||
int rotation = display.getRotation();
|
||||
LayoutParams params;
|
||||
|
||||
int w, h;
|
||||
if (Version.isXLargeScreen(this)) {
|
||||
w = 176;
|
||||
h = 148;
|
||||
} else {
|
||||
w = 88;
|
||||
h = 74;
|
||||
}
|
||||
|
||||
if (rotation == Surface.ROTATION_90 || rotation == Surface.ROTATION_270) {
|
||||
params = new LayoutParams(h, w);
|
||||
} else {
|
||||
params = new LayoutParams(w, h);
|
||||
}
|
||||
params.setMargins(0, 0, 15, 15);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
|
||||
mVideoCaptureViewReady.setLayoutParams(params);
|
||||
}
|
||||
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
resizePreview();
|
||||
super.onConfigurationChanged(null);
|
||||
}
|
||||
|
||||
private void resetControlsLayoutExpiration() {
|
||||
if (mControls != null) {
|
||||
controlsHandler.removeCallbacks(mControls);
|
||||
}
|
||||
|
||||
controlsHandler.postDelayed(mControls = new Runnable() {
|
||||
public void run() {
|
||||
mControlsLayout.setVisibility(View.GONE);
|
||||
}
|
||||
}, DELAY_BEFORE_HIDING_CONTROLS);
|
||||
}
|
||||
|
||||
public void onClick(View v) {
|
||||
resetControlsLayoutExpiration();
|
||||
switch (v.getId()) {
|
||||
case R.id.incallHang:
|
||||
terminateCurrentCallOrConferenceOrAll();
|
||||
break;
|
||||
case R.id.toggleSpeaker:
|
||||
if (((Checkable) v).isChecked()) {
|
||||
LinphoneManager.getInstance().routeAudioToSpeaker();
|
||||
} else {
|
||||
LinphoneManager.getInstance().routeAudioToReceiver();
|
||||
}
|
||||
break;
|
||||
case R.id.incallNumpadShow:
|
||||
showDialog(numpadDialogId);
|
||||
break;
|
||||
case R.id.toggleMuteMic:
|
||||
LinphoneManager.getLc().muteMic(((Checkable) v).isChecked());
|
||||
break;
|
||||
case R.id.switch_camera:
|
||||
int id = LinphoneManager.getLc().getVideoDevice();
|
||||
id = (id + 1) % AndroidCameraConfiguration.retrieveCameras().length;
|
||||
LinphoneManager.getLc().setVideoDevice(id);
|
||||
CallManager.getInstance().updateCall();
|
||||
// previous call will cause graph reconstruction -> regive preview
|
||||
// window
|
||||
if (mVideoCaptureViewReady != null)
|
||||
LinphoneManager.getLc()
|
||||
.setPreviewWindow(mVideoCaptureViewReady);
|
||||
break;
|
||||
case R.id.conf_simple_pause:
|
||||
finish();
|
||||
LinphoneActivity.instance().startIncallActivity();
|
||||
LinphoneManager.getLc().pauseCall(videoCall);
|
||||
break;
|
||||
case R.id.conf_simple_video:
|
||||
LinphoneCallParams params = videoCall.getCurrentParamsCopy();
|
||||
params.setVideoEnabled(false);
|
||||
LinphoneManager.getLc().updateCall(videoCall, params);
|
||||
break;
|
||||
case R.id.addCall:
|
||||
finish();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
protected Dialog onCreateDialog(final int id) {
|
||||
switch (id) {
|
||||
case numpadDialogId:
|
||||
Numpad numpad = new Numpad(this, true);
|
||||
return new AlertDialog.Builder(this)
|
||||
.setView(numpad)
|
||||
.setPositiveButton(R.string.close_button_text,
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog,
|
||||
int whichButton) {
|
||||
dismissDialog(id);
|
||||
}
|
||||
}).create();
|
||||
default:
|
||||
throw new IllegalArgumentException("unkown dialog id " + id);
|
||||
}
|
||||
}
|
||||
|
||||
private void terminateCurrentCallOrConferenceOrAll() {
|
||||
LinphoneCall currentCall = LinphoneManager.getLc().getCurrentCall();
|
||||
if (currentCall != null) {
|
||||
LinphoneManager.getLc().terminateCall(currentCall);
|
||||
} else if (LinphoneManager.getLc().isInConference()) {
|
||||
LinphoneManager.getLc().terminateConference();
|
||||
} else {
|
||||
LinphoneManager.getLc().terminateAllCalls();
|
||||
}
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,9 +20,12 @@ package org.linphone.core;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
|
||||
import org.linphone.mediastream.Version;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
||||
|
||||
private static void loadOptionalLibrary(String s) {
|
||||
|
@ -35,10 +38,17 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
|
||||
static {
|
||||
// FFMPEG (audio/video)
|
||||
if (!hasNeonInCpuFeatures()) {
|
||||
loadOptionalLibrary("avutilnoneon");
|
||||
loadOptionalLibrary("swscalenoneon");
|
||||
loadOptionalLibrary("avcorenoneon");
|
||||
loadOptionalLibrary("avcodecnoneon");
|
||||
} else {
|
||||
loadOptionalLibrary("avutil");
|
||||
loadOptionalLibrary("swscale");
|
||||
loadOptionalLibrary("avcore");
|
||||
loadOptionalLibrary("avcodec");
|
||||
}
|
||||
|
||||
// OPENSSL (cryptography)
|
||||
// lin prefix avoids collision with libs in /system/lib
|
||||
|
@ -56,7 +66,11 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
loadOptionalLibrary("bcg729");
|
||||
|
||||
//Main library
|
||||
if (!hasNeonInCpuFeatures()) {
|
||||
System.loadLibrary("linphonenoneon");
|
||||
} else {
|
||||
System.loadLibrary("linphone");
|
||||
}
|
||||
|
||||
Version.dumpCapabilities();
|
||||
}
|
||||
|
@ -121,4 +135,30 @@ public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory {
|
|||
public LinphoneFriend createLinphoneFriend() {
|
||||
return createLinphoneFriend(null);
|
||||
}
|
||||
|
||||
public static boolean hasNeonInCpuFeatures()
|
||||
{
|
||||
ProcessBuilder cmd;
|
||||
boolean result = false;
|
||||
|
||||
try {
|
||||
String[] args = {"/system/bin/cat", "/proc/cpuinfo"};
|
||||
cmd = new ProcessBuilder(args);
|
||||
|
||||
Process process = cmd.start();
|
||||
InputStream in = process.getInputStream();
|
||||
byte[] re = new byte[1024];
|
||||
while(in.read(re) != -1){
|
||||
String line = new String(re);
|
||||
if (line.startsWith("Features")) {
|
||||
result = line.contains("neon");
|
||||
break;
|
||||
}
|
||||
}
|
||||
in.close();
|
||||
} catch(IOException ex){
|
||||
ex.printStackTrace();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,8 +20,6 @@ package org.linphone.core;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Vector;
|
||||
|
||||
|
||||
|
|
195
src/org/linphone/ui/CameraView.java
Normal file
195
src/org/linphone/ui/CameraView.java
Normal file
|
@ -0,0 +1,195 @@
|
|||
package org.linphone.ui;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.hardware.Camera;
|
||||
import android.hardware.Camera.CameraInfo;
|
||||
import android.hardware.Camera.Size;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Display;
|
||||
import android.view.Surface;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
|
||||
public class CameraView extends ViewGroup implements SurfaceHolder.Callback {
|
||||
|
||||
public CameraView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
|
||||
mSurfaceView = new SurfaceView(context);
|
||||
addView(mSurfaceView);
|
||||
|
||||
mHolder = mSurfaceView.getHolder();
|
||||
mHolder.addCallback(this);
|
||||
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
|
||||
}
|
||||
|
||||
CameraView(Context context) {
|
||||
super(context);
|
||||
|
||||
mSurfaceView = new SurfaceView(context);
|
||||
addView(mSurfaceView);
|
||||
|
||||
mHolder = mSurfaceView.getHolder();
|
||||
mHolder.addCallback(this);
|
||||
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
|
||||
}
|
||||
|
||||
SurfaceView mSurfaceView;
|
||||
SurfaceHolder mHolder;
|
||||
Size mPreviewSize;
|
||||
List<Size> mSupportedSizes;
|
||||
Camera mCamera;
|
||||
int mCameraId;
|
||||
|
||||
public void setCamera(Camera camera, int id) {
|
||||
mCamera = camera;
|
||||
mCameraId = id;
|
||||
if (mCamera != null) {
|
||||
mSupportedSizes = mCamera.getParameters().getSupportedPreviewSizes();
|
||||
requestLayout();
|
||||
}
|
||||
}
|
||||
|
||||
public void switchCamera(Camera camera, int id) {
|
||||
setCamera(camera, id);
|
||||
try {
|
||||
camera.setPreviewDisplay(mHolder);
|
||||
} catch (IOException exception) {
|
||||
|
||||
}
|
||||
Camera.Parameters parameters = camera.getParameters();
|
||||
parameters.setPreviewSize(mPreviewSize.width, mPreviewSize.height);
|
||||
requestLayout();
|
||||
|
||||
camera.setParameters(parameters);
|
||||
}
|
||||
|
||||
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
||||
int width = resolveSize(getSuggestedMinimumWidth(), widthMeasureSpec);;
|
||||
int height = resolveSize(getSuggestedMinimumHeight(), heightMeasureSpec);;
|
||||
setMeasuredDimension(width, height);
|
||||
|
||||
if (mSupportedSizes != null) {
|
||||
mPreviewSize = getOptimalPreviewSize(mSupportedSizes, width, height);
|
||||
}
|
||||
|
||||
Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
||||
if (display.getRotation() == Surface.ROTATION_90 || display.getRotation() == Surface.ROTATION_270) {
|
||||
Size tempSize = mPreviewSize;
|
||||
mPreviewSize.width = tempSize.height;
|
||||
mPreviewSize.height = tempSize.width;
|
||||
}
|
||||
}
|
||||
|
||||
protected void onLayout(boolean changed, int l, int t, int r, int b) {
|
||||
if (changed && getChildCount() > 0) {
|
||||
final View child = getChildAt(0);
|
||||
|
||||
final int width = r - l;
|
||||
final int height = b - t;
|
||||
|
||||
int previewWidth = width;
|
||||
int previewHeight = height;
|
||||
if (mPreviewSize != null) {
|
||||
previewWidth = mPreviewSize.width;
|
||||
previewHeight = mPreviewSize.height;
|
||||
}
|
||||
|
||||
// Center the surface view
|
||||
if (width * previewHeight > height * previewWidth) {
|
||||
final int scaledChildWidth = previewWidth * height / previewHeight;
|
||||
child.layout((width - scaledChildWidth) / 2, 0,
|
||||
(width + scaledChildWidth) / 2, height);
|
||||
} else {
|
||||
final int scaledChildHeight = previewHeight * width / previewWidth;
|
||||
child.layout(0, (height - scaledChildHeight) / 2,
|
||||
width, (height + scaledChildHeight) / 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void surfaceCreated(SurfaceHolder holder) {
|
||||
try {
|
||||
if (mCamera != null) {
|
||||
mCamera.setPreviewDisplay(holder);
|
||||
}
|
||||
} catch (IOException exception) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void surfaceDestroyed(SurfaceHolder holder) {
|
||||
if (mCamera != null) {
|
||||
mCamera.stopPreview();
|
||||
}
|
||||
}
|
||||
|
||||
private Size getOptimalPreviewSize(List<Size> sizes, int w, int h) {
|
||||
final double ASPECT_TOLERANCE = 0.1;
|
||||
double targetRatio = (double) w / h;
|
||||
if (sizes == null) return null;
|
||||
|
||||
Size optimalSize = null;
|
||||
double minDiff = Double.MAX_VALUE;
|
||||
|
||||
int targetHeight = h;
|
||||
|
||||
for (Size size : sizes) {
|
||||
double ratio = (double) size.width / size.height;
|
||||
if (Math.abs(ratio - targetRatio) > ASPECT_TOLERANCE) continue;
|
||||
if (Math.abs(size.height - targetHeight) < minDiff) {
|
||||
optimalSize = size;
|
||||
minDiff = Math.abs(size.height - targetHeight);
|
||||
}
|
||||
}
|
||||
|
||||
if (optimalSize == null) {
|
||||
minDiff = Double.MAX_VALUE;
|
||||
for (Size size : sizes) {
|
||||
if (Math.abs(size.height - targetHeight) < minDiff) {
|
||||
optimalSize = size;
|
||||
minDiff = Math.abs(size.height - targetHeight);
|
||||
}
|
||||
}
|
||||
}
|
||||
return optimalSize;
|
||||
}
|
||||
|
||||
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
|
||||
if (mCamera == null)
|
||||
return;
|
||||
|
||||
mCamera.stopPreview();
|
||||
Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
|
||||
Camera.Parameters parameters = mCamera.getParameters();
|
||||
|
||||
int rotation = 0;
|
||||
if(display.getRotation() == Surface.ROTATION_90) {
|
||||
rotation = 90;
|
||||
}
|
||||
else if(display.getRotation() == Surface.ROTATION_270) {
|
||||
rotation = 270;
|
||||
}
|
||||
else if (display.getRotation() == Surface.ROTATION_180) {
|
||||
rotation = 180;
|
||||
}
|
||||
|
||||
CameraInfo cameraInfo = new CameraInfo();
|
||||
Camera.getCameraInfo(mCameraId, cameraInfo);
|
||||
if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) {
|
||||
mCamera.setDisplayOrientation((cameraInfo.orientation - rotation + 360) % 360);
|
||||
} else {
|
||||
mCamera.setDisplayOrientation((cameraInfo.orientation + rotation) % 360);
|
||||
}
|
||||
|
||||
requestLayout();
|
||||
mCamera.setParameters(parameters);
|
||||
mCamera.startPreview();
|
||||
}
|
||||
}
|
4
submodules/externals/build/ffmpeg-no-neon/Android.mk
vendored
Executable file
4
submodules/externals/build/ffmpeg-no-neon/Android.mk
vendored
Executable file
|
@ -0,0 +1,4 @@
|
|||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk
|
||||
include $(linphone-root-dir)/submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk
|
109
submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk
vendored
Executable file
109
submodules/externals/build/ffmpeg-no-neon/Android_libavcodec.mk
vendored
Executable file
|
@ -0,0 +1,109 @@
|
|||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavcodecnoneon
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
libavcodec/allcodecs.c \
|
||||
libavcodec/aandcttab.c \
|
||||
libavcodec/arm/dsputil_arm.S.arm \
|
||||
libavcodec/arm/dsputil_armv6.S.arm \
|
||||
libavcodec/arm/dsputil_init_arm.c \
|
||||
libavcodec/arm/dsputil_init_armv5te.c \
|
||||
libavcodec/arm/dsputil_init_armv6.c \
|
||||
libavcodec/arm/dsputil_init_neon.c \
|
||||
libavcodec/arm/dsputil_init_vfp.c \
|
||||
libavcodec/arm/dsputil_neon.S.neon \
|
||||
libavcodec/arm/dsputil_vfp.S.neon \
|
||||
libavcodec/arm/fft_init_arm.c \
|
||||
libavcodec/arm/fft_neon.S.neon \
|
||||
libavcodec/arm/h264dsp_init_arm.c \
|
||||
libavcodec/arm/h264dsp_neon.S.neon \
|
||||
libavcodec/arm/h264idct_neon.S.neon \
|
||||
libavcodec/arm/h264pred_init_arm.c \
|
||||
libavcodec/arm/h264pred_neon.S.neon \
|
||||
libavcodec/arm/int_neon.S.neon \
|
||||
libavcodec/arm/jrevdct_arm.S \
|
||||
libavcodec/arm/mdct_neon.S.neon \
|
||||
libavcodec/arm/mpegvideo_arm.c \
|
||||
libavcodec/arm/mpegvideo_armv5te.c \
|
||||
libavcodec/arm/mpegvideo_armv5te_s.S \
|
||||
libavcodec/arm/mpegvideo_neon.S.neon \
|
||||
libavcodec/arm/simple_idct_arm.S \
|
||||
libavcodec/arm/simple_idct_armv5te.S \
|
||||
libavcodec/arm/simple_idct_armv6.S \
|
||||
libavcodec/arm/simple_idct_neon.S.neon \
|
||||
libavcodec/audioconvert.c.arm \
|
||||
libavcodec/avpacket.c \
|
||||
libavcodec/bitstream.c \
|
||||
libavcodec/bitstream_filter.c \
|
||||
libavcodec/cabac.c \
|
||||
libavcodec/dsputil.c.arm \
|
||||
libavcodec/error_resilience.c \
|
||||
libavcodec/faandct.c \
|
||||
libavcodec/faanidct.c \
|
||||
libavcodec/flvdec.c \
|
||||
libavcodec/flvenc.c \
|
||||
libavcodec/fft.c \
|
||||
libavcodec/golomb.c \
|
||||
libavcodec/h263.c.arm \
|
||||
libavcodec/h263_parser.c \
|
||||
libavcodec/h263dec.c \
|
||||
libavcodec/h264.c \
|
||||
libavcodec/h264_cabac.c.arm \
|
||||
libavcodec/h264_cavlc.c.arm \
|
||||
libavcodec/h264_direct.c.arm \
|
||||
libavcodec/h264_loopfilter.c \
|
||||
libavcodec/h264_ps.c \
|
||||
libavcodec/h264_refs.c \
|
||||
libavcodec/h264_sei.c \
|
||||
libavcodec/h264dsp.c \
|
||||
libavcodec/h264idct.c \
|
||||
libavcodec/h264pred.c \
|
||||
libavcodec/imgconvert.c \
|
||||
libavcodec/intelh263dec.c \
|
||||
libavcodec/inverse.c \
|
||||
libavcodec/ituh263dec.c \
|
||||
libavcodec/ituh263enc.c \
|
||||
libavcodec/jfdctfst.c \
|
||||
libavcodec/jfdctint.c \
|
||||
libavcodec/jrevdct.c \
|
||||
libavcodec/mjpeg.c.arm \
|
||||
libavcodec/mjpegdec.c.arm \
|
||||
libavcodec/motion_est.c.arm \
|
||||
libavcodec/mpeg12data.c \
|
||||
libavcodec/mpeg4video.c.arm \
|
||||
libavcodec/mpeg4video_parser.c \
|
||||
libavcodec/mpeg4videodec.c.arm \
|
||||
libavcodec/mpeg4videoenc.c.arm \
|
||||
libavcodec/mpegvideo.c.arm \
|
||||
libavcodec/mpegvideo_enc.c.arm \
|
||||
libavcodec/opt.c \
|
||||
libavcodec/options.c \
|
||||
libavcodec/parser.c \
|
||||
libavcodec/ratecontrol.c \
|
||||
libavcodec/raw.c \
|
||||
libavcodec/resample.c \
|
||||
libavcodec/resample2.c \
|
||||
libavcodec/simple_idct.c \
|
||||
libavcodec/utils.c \
|
||||
libavcodec/svq3.c \
|
||||
libavcodec/pthread.c
|
||||
|
||||
|
||||
LOCAL_ARM_MODE := arm
|
||||
|
||||
#LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H -Wa,-I$(LOCAL_PATH)/libavcodec/arm
|
||||
LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H
|
||||
|
||||
#for including config.h:
|
||||
LOCAL_C_INCLUDES += \
|
||||
$(LOCAL_PATH)/../build/ffmpeg-no-neon \
|
||||
$(LOCAL_PATH)/libavcodec/arm \
|
||||
$(LOCAL_PATH)/ \
|
||||
$(LOCAL_PATH)/libavutil
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon libavcorenoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
27
submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk
vendored
Normal file
27
submodules/externals/build/ffmpeg-no-neon/Android_libavcore.mk
vendored
Normal file
|
@ -0,0 +1,27 @@
|
|||
|
||||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavcorenoneon
|
||||
|
||||
|
||||
LOCAL_SRC_FILES := \
|
||||
libavcore/imgutils.c \
|
||||
libavcore/parseutils.c \
|
||||
libavcore/utils.c
|
||||
|
||||
# libavcore/samplefmt.c \
|
||||
# libavcore/audioconvert.c
|
||||
|
||||
|
||||
LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H
|
||||
|
||||
|
||||
|
||||
#for including config.h:
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg-no-neon $(LOCAL_PATH)/
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
45
submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk
vendored
Executable file
45
submodules/externals/build/ffmpeg-no-neon/Android_libavutil.mk
vendored
Executable file
|
@ -0,0 +1,45 @@
|
|||
|
||||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libavutilnoneon
|
||||
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
libavutil/adler32.c \
|
||||
libavutil/aes.c \
|
||||
libavutil/arm/cpu.c \
|
||||
libavutil/avstring.c \
|
||||
libavutil/base64.c \
|
||||
libavutil/cpu.c \
|
||||
libavutil/crc.c \
|
||||
libavutil/des.c \
|
||||
libavutil/error.c \
|
||||
libavutil/eval.c \
|
||||
libavutil/fifo.c \
|
||||
libavutil/intfloat_readwrite.c \
|
||||
libavutil/inverse.c \
|
||||
libavutil/lfg.c \
|
||||
libavutil/lls.c \
|
||||
libavutil/log.c \
|
||||
libavutil/lzo.c \
|
||||
libavutil/mathematics.c \
|
||||
libavutil/md5.c \
|
||||
libavutil/mem.c \
|
||||
libavutil/opt.c \
|
||||
libavutil/pixdesc.c \
|
||||
libavutil/random_seed.c \
|
||||
libavutil/rational.c \
|
||||
libavutil/rc4.c \
|
||||
libavutil/sha.c \
|
||||
libavutil/tree.c \
|
||||
libavutil/utils.c
|
||||
|
||||
LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H
|
||||
|
||||
LOCAL_ARM_MODE := arm
|
||||
|
||||
#for including config.h:
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg-no-neon $(LOCAL_PATH)/
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
26
submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk
vendored
Executable file
26
submodules/externals/build/ffmpeg-no-neon/Android_libswscale.mk
vendored
Executable file
|
@ -0,0 +1,26 @@
|
|||
##lib swcale###################
|
||||
LOCAL_PATH:= $(call my-dir)/../../ffmpeg/libswscale/
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
LOCAL_MODULE := libswscalenoneon
|
||||
|
||||
LOCAL_SRC_FILES = \
|
||||
options.c \
|
||||
rgb2rgb.c \
|
||||
swscale.c \
|
||||
utils.c \
|
||||
yuv2rgb.c
|
||||
|
||||
LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H
|
||||
|
||||
LOCAL_ARM_MODE := arm
|
||||
|
||||
#for including config.h:
|
||||
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../build/ffmpeg-no-neon \
|
||||
$(LOCAL_PATH)/ \
|
||||
$(LOCAL_PATH)/../
|
||||
|
||||
LOCAL_SHARED_LIBRARIES := libavutilnoneon
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
3
submodules/externals/build/ffmpeg-no-neon/README
vendored
Normal file
3
submodules/externals/build/ffmpeg-no-neon/README
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
config.h and list of sources files generated by the following configure invocation:
|
||||
|
||||
./configure --disable-mmx --prefix=/Users/jehanmonnier/opt --enable-cross-compile --arch=arm --target-os=linux --cc=arm-none-linux-gnueabi-gcc --disable-ffplay --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avcore --disable-avfilter --disable-network --disable-everything --enable-decoder=mpeg4 --enable-encoder=mpeg4 --enable-decoder=h264 --enable-decoder=mjpeg --disable-avformat --enable-armv6 --enable-armv6t2 --enable-armvfp --enable-neon --enable-pic --extra-cflags='-fPIC -march=armv7-a -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon'
|
956
submodules/externals/build/ffmpeg-no-neon/config.h
vendored
Normal file
956
submodules/externals/build/ffmpeg-no-neon/config.h
vendored
Normal file
|
@ -0,0 +1,956 @@
|
|||
/* Automatically generated by configure - do not modify! */
|
||||
#ifndef FFMPEG_CONFIG_H
|
||||
#define FFMPEG_CONFIG_H
|
||||
#define FFMPEG_CONFIGURATION "--disable-mmx --prefix=/Users/jehanmonnier/opt --enable-cross-compile --arch=arm --target-os=linux --cc=arm-none-linux-gnueabi-gcc --disable-ffplay --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-avdevice --disable-avcore --disable-avfilter --disable-network --disable-everything --enable-decoder=mpeg4 --enable-encoder=mpeg4 --enable-decoder=h264 --disable-avformat --enable-armv6 --enable-armv6t2 --enable-armvfp --disable-neon --enable-pic --extra-cflags='-fPIC -march=armv7-a -mcpu=cortex-a8 -mfloat-abi=softfp'"
|
||||
#define FFMPEG_LICENSE "LGPL version 2.1 or later"
|
||||
#define FFMPEG_DATADIR "/Users/jehanmonnier/opt/share/ffmpeg"
|
||||
#define CC_TYPE "gcc"
|
||||
#define CC_VERSION __VERSION__
|
||||
#define restrict
|
||||
#define ASMALIGN(ZEROBITS) ".p2align " #ZEROBITS "\n\t"
|
||||
#define EXTERN_PREFIX ""
|
||||
#define EXTERN_ASM
|
||||
#define ARCH_ALPHA 0
|
||||
#define ARCH_ARM 1
|
||||
#define ARCH_AVR32 0
|
||||
#define ARCH_AVR32_AP 0
|
||||
#define ARCH_AVR32_UC 0
|
||||
#define ARCH_BFIN 0
|
||||
#define ARCH_IA64 0
|
||||
#define ARCH_M68K 0
|
||||
#define ARCH_MIPS 0
|
||||
#define ARCH_MIPS64 0
|
||||
#define ARCH_PARISC 0
|
||||
#define ARCH_PPC 0
|
||||
#define ARCH_PPC64 0
|
||||
#define ARCH_S390 0
|
||||
#define ARCH_SH4 0
|
||||
#define ARCH_SPARC 0
|
||||
#define ARCH_SPARC64 0
|
||||
#define ARCH_TOMI 0
|
||||
#define ARCH_X86 0
|
||||
#define ARCH_X86_32 0
|
||||
#define ARCH_X86_64 0
|
||||
#define HAVE_ALTIVEC 0
|
||||
#define HAVE_AMD3DNOW 0
|
||||
#define HAVE_AMD3DNOWEXT 0
|
||||
#define HAVE_ARMV5TE 1
|
||||
#define HAVE_ARMV6 1
|
||||
#define HAVE_ARMV6T2 1
|
||||
#define HAVE_ARMVFP 1
|
||||
#define HAVE_IWMMXT 0
|
||||
#define HAVE_MMI 0
|
||||
#define HAVE_MMX 0
|
||||
#define HAVE_MMX2 0
|
||||
#define HAVE_NEON 0
|
||||
#define HAVE_PPC4XX 0
|
||||
#define HAVE_SSE 0
|
||||
#define HAVE_SSSE3 0
|
||||
#define HAVE_VIS 0
|
||||
#define HAVE_BIGENDIAN 0
|
||||
#define HAVE_FAST_UNALIGNED 1
|
||||
#define HAVE_PTHREADS 1
|
||||
#define HAVE_W32THREADS 0
|
||||
#define HAVE_ALIGNED_STACK 0
|
||||
#define HAVE_ALSA_ASOUNDLIB_H 0
|
||||
#define HAVE_ALTIVEC_H 0
|
||||
#define HAVE_ARPA_INET_H 0
|
||||
#define HAVE_ATTRIBUTE_MAY_ALIAS 1
|
||||
#define HAVE_ATTRIBUTE_PACKED 1
|
||||
#define HAVE_BSWAP 0
|
||||
#define HAVE_CLOSESOCKET 0
|
||||
#define HAVE_CMOV 0
|
||||
#define HAVE_CONIO_H 0
|
||||
#define HAVE_DCBZL 0
|
||||
#define HAVE_DEV_BKTR_IOCTL_BT848_H 0
|
||||
#define HAVE_DEV_BKTR_IOCTL_METEOR_H 0
|
||||
#define HAVE_DEV_IC_BT8XX_H 0
|
||||
#define HAVE_DEV_VIDEO_METEOR_IOCTL_METEOR_H 0
|
||||
#define HAVE_DEV_VIDEO_BKTR_IOCTL_BT848_H 0
|
||||
#define HAVE_DLFCN_H 1
|
||||
#define HAVE_DLOPEN 1
|
||||
#define HAVE_DOS_PATHS 0
|
||||
#define HAVE_EBP_AVAILABLE 0
|
||||
#define HAVE_EBX_AVAILABLE 0
|
||||
#define HAVE_EXP2 1
|
||||
#define HAVE_EXP2F 1
|
||||
#define HAVE_FAST_64BIT 0
|
||||
#define HAVE_FAST_CLZ 1
|
||||
#define HAVE_FAST_CMOV 0
|
||||
#define HAVE_FCNTL 1
|
||||
#define HAVE_FORK 1
|
||||
#define HAVE_GETADDRINFO 1
|
||||
#define HAVE_GETHRTIME 0
|
||||
#define HAVE_GETPROCESSMEMORYINFO 0
|
||||
#define HAVE_GETPROCESSTIMES 0
|
||||
#define HAVE_GETRUSAGE 1
|
||||
#define HAVE_GNU_AS 1
|
||||
#define HAVE_STRUCT_RUSAGE_RU_MAXRSS 1
|
||||
#define HAVE_IBM_ASM 0
|
||||
#define HAVE_INET_ATON 1
|
||||
#define HAVE_INLINE_ASM 1
|
||||
#define HAVE_ISATTY 1
|
||||
#define HAVE_LDBRX 0
|
||||
#define HAVE_LIBDC1394_1 0
|
||||
#define HAVE_LIBDC1394_2 0
|
||||
#define HAVE_LLRINT 1
|
||||
#define HAVE_LLRINTF 1
|
||||
#define HAVE_LOCAL_ALIGNED_16 0
|
||||
#define HAVE_LOCAL_ALIGNED_8 0
|
||||
#define HAVE_LOG2 1
|
||||
#define HAVE_LOG2F 1
|
||||
#define HAVE_LOONGSON 0
|
||||
#define HAVE_LRINT 1
|
||||
#define HAVE_LRINTF 1
|
||||
#define HAVE_LZO1X_999_COMPRESS 0
|
||||
#define HAVE_MACHINE_IOCTL_BT848_H 0
|
||||
#define HAVE_MACHINE_IOCTL_METEOR_H 0
|
||||
#define HAVE_MALLOC_H 1
|
||||
#define HAVE_MEMALIGN 1
|
||||
#define HAVE_MKSTEMP 1
|
||||
#define HAVE_PLD 1
|
||||
#define HAVE_POSIX_MEMALIGN 0
|
||||
#define HAVE_ROUND 1
|
||||
#define HAVE_ROUNDF 1
|
||||
#define HAVE_SDL 0
|
||||
#define HAVE_SDL_VIDEO_SIZE 0
|
||||
#define HAVE_SETMODE 0
|
||||
#define HAVE_SOCKLEN_T 0
|
||||
#define HAVE_SOUNDCARD_H 0
|
||||
#define HAVE_POLL_H 1
|
||||
#define HAVE_SETRLIMIT 1
|
||||
#define HAVE_STRERROR_R 1
|
||||
#define HAVE_STRTOK_R 1
|
||||
#define HAVE_STRUCT_ADDRINFO 0
|
||||
#define HAVE_STRUCT_IPV6_MREQ 0
|
||||
#define HAVE_STRUCT_SOCKADDR_IN6 0
|
||||
#define HAVE_STRUCT_SOCKADDR_SA_LEN 0
|
||||
#define HAVE_STRUCT_SOCKADDR_STORAGE 0
|
||||
#define HAVE_SYMVER 1
|
||||
#define HAVE_SYMVER_GNU_ASM 1
|
||||
#define HAVE_SYMVER_ASM_LABEL 0
|
||||
#define HAVE_SYS_MMAN_H 1
|
||||
#define HAVE_SYS_RESOURCE_H 1
|
||||
#define HAVE_SYS_SELECT_H 1
|
||||
#define HAVE_SYS_SOUNDCARD_H 1
|
||||
#define HAVE_SYS_VIDEOIO_H 0
|
||||
#define HAVE_TEN_OPERANDS 0
|
||||
#define HAVE_TERMIOS_H 1
|
||||
#define HAVE_THREADS 1
|
||||
#define HAVE_TRUNCF 1
|
||||
#define HAVE_VFP_ARGS 0
|
||||
#define HAVE_VIRTUALALLOC 0
|
||||
#define HAVE_WINSOCK2_H 0
|
||||
#define HAVE_XFORM_ASM 0
|
||||
#define HAVE_YASM 0
|
||||
#define CONFIG_BSFS 0
|
||||
#define CONFIG_DECODERS 1
|
||||
#define CONFIG_DEMUXERS 0
|
||||
#define CONFIG_ENCODERS 1
|
||||
#define CONFIG_FILTERS 0
|
||||
#define CONFIG_HWACCELS 0
|
||||
#define CONFIG_INDEVS 0
|
||||
#define CONFIG_MUXERS 0
|
||||
#define CONFIG_OUTDEVS 0
|
||||
#define CONFIG_PARSERS 1
|
||||
#define CONFIG_PROTOCOLS 1
|
||||
#define CONFIG_AANDCT 1
|
||||
#define CONFIG_AVCODEC 1
|
||||
#define CONFIG_AVCORE 0
|
||||
#define CONFIG_AVDEVICE 0
|
||||
#define CONFIG_AVFILTER 0
|
||||
#define CONFIG_AVFORMAT 0
|
||||
#define CONFIG_AVISYNTH 0
|
||||
#define CONFIG_BZLIB 0
|
||||
#define CONFIG_DCT 0
|
||||
#define CONFIG_DOC 0
|
||||
#define CONFIG_DWT 0
|
||||
#define CONFIG_DXVA2 0
|
||||
#define CONFIG_FASTDIV 1
|
||||
#define CONFIG_FFMPEG 0
|
||||
#define CONFIG_FFPLAY 0
|
||||
#define CONFIG_FFPROBE 0
|
||||
#define CONFIG_FFSERVER 0
|
||||
#define CONFIG_FFT 0
|
||||
#define CONFIG_FREI0R 0
|
||||
#define CONFIG_GOLOMB 1
|
||||
#define CONFIG_GPL 0
|
||||
#define CONFIG_GRAY 0
|
||||
#define CONFIG_H264DSP 1
|
||||
#define CONFIG_H264PRED 1
|
||||
#define CONFIG_HARDCODED_TABLES 0
|
||||
#define CONFIG_HUFFMAN 0
|
||||
#define CONFIG_LIBDC1394 0
|
||||
#define CONFIG_LIBDIRAC 0
|
||||
#define CONFIG_LIBFAAC 0
|
||||
#define CONFIG_LIBGSM 0
|
||||
#define CONFIG_LIBMP3LAME 0
|
||||
#define CONFIG_LIBNUT 0
|
||||
#define CONFIG_LIBOPENCORE_AMRNB 0
|
||||
#define CONFIG_LIBOPENCORE_AMRWB 0
|
||||
#define CONFIG_LIBOPENCV 0
|
||||
#define CONFIG_LIBOPENJPEG 0
|
||||
#define CONFIG_LIBRTMP 0
|
||||
#define CONFIG_LIBSCHROEDINGER 0
|
||||
#define CONFIG_LIBSPEEX 0
|
||||
#define CONFIG_LIBTHEORA 0
|
||||
#define CONFIG_LIBVORBIS 0
|
||||
#define CONFIG_LIBVPX 0
|
||||
#define CONFIG_LIBX264 0
|
||||
#define CONFIG_LIBXAVS 0
|
||||
#define CONFIG_LIBXVID 0
|
||||
#define CONFIG_LPC 0
|
||||
#define CONFIG_LSP 0
|
||||
#define CONFIG_MDCT 0
|
||||
#define CONFIG_MEMALIGN_HACK 0
|
||||
#define CONFIG_MLIB 0
|
||||
#define CONFIG_MPEGAUDIO_HP 1
|
||||
#define CONFIG_NETWORK 0
|
||||
#define CONFIG_NONFREE 0
|
||||
#define CONFIG_PIC 1
|
||||
#define CONFIG_POSTPROC 0
|
||||
#define CONFIG_RDFT 0
|
||||
#define CONFIG_RUNTIME_CPUDETECT 0
|
||||
#define CONFIG_SHARED 0
|
||||
#define CONFIG_SMALL 0
|
||||
#define CONFIG_SRAM 0
|
||||
#define CONFIG_STATIC 1
|
||||
#define CONFIG_SWSCALE 1
|
||||
#define CONFIG_SWSCALE_ALPHA 1
|
||||
#define CONFIG_VAAPI 0
|
||||
#define CONFIG_VDPAU 0
|
||||
#define CONFIG_VERSION3 0
|
||||
#define CONFIG_X11GRAB 0
|
||||
#define CONFIG_ZLIB 0
|
||||
#define CONFIG_AVUTIL 1
|
||||
#define CONFIG_GPLV3 0
|
||||
#define CONFIG_LGPLV3 0
|
||||
#define CONFIG_AASC_DECODER 0
|
||||
#define CONFIG_AMV_DECODER 0
|
||||
#define CONFIG_ANM_DECODER 0
|
||||
#define CONFIG_ANSI_DECODER 0
|
||||
#define CONFIG_ASV1_DECODER 0
|
||||
#define CONFIG_ASV2_DECODER 0
|
||||
#define CONFIG_AURA_DECODER 0
|
||||
#define CONFIG_AURA2_DECODER 0
|
||||
#define CONFIG_AVS_DECODER 0
|
||||
#define CONFIG_BETHSOFTVID_DECODER 0
|
||||
#define CONFIG_BFI_DECODER 0
|
||||
#define CONFIG_BINK_DECODER 0
|
||||
#define CONFIG_BMP_DECODER 0
|
||||
#define CONFIG_C93_DECODER 0
|
||||
#define CONFIG_CAVS_DECODER 0
|
||||
#define CONFIG_CDGRAPHICS_DECODER 0
|
||||
#define CONFIG_CINEPAK_DECODER 0
|
||||
#define CONFIG_CLJR_DECODER 0
|
||||
#define CONFIG_CSCD_DECODER 0
|
||||
#define CONFIG_CYUV_DECODER 0
|
||||
#define CONFIG_DNXHD_DECODER 0
|
||||
#define CONFIG_DPX_DECODER 0
|
||||
#define CONFIG_DSICINVIDEO_DECODER 0
|
||||
#define CONFIG_DVVIDEO_DECODER 0
|
||||
#define CONFIG_DXA_DECODER 0
|
||||
#define CONFIG_EACMV_DECODER 0
|
||||
#define CONFIG_EAMAD_DECODER 0
|
||||
#define CONFIG_EATGQ_DECODER 0
|
||||
#define CONFIG_EATGV_DECODER 0
|
||||
#define CONFIG_EATQI_DECODER 0
|
||||
#define CONFIG_EIGHTBPS_DECODER 0
|
||||
#define CONFIG_EIGHTSVX_EXP_DECODER 0
|
||||
#define CONFIG_EIGHTSVX_FIB_DECODER 0
|
||||
#define CONFIG_ESCAPE124_DECODER 0
|
||||
#define CONFIG_FFV1_DECODER 0
|
||||
#define CONFIG_FFVHUFF_DECODER 0
|
||||
#define CONFIG_FLASHSV_DECODER 0
|
||||
#define CONFIG_FLIC_DECODER 0
|
||||
#define CONFIG_FLV_DECODER 0
|
||||
#define CONFIG_FOURXM_DECODER 0
|
||||
#define CONFIG_FRAPS_DECODER 0
|
||||
#define CONFIG_FRWU_DECODER 0
|
||||
#define CONFIG_GIF_DECODER 0
|
||||
#define CONFIG_H261_DECODER 0
|
||||
#define CONFIG_H263_DECODER 1
|
||||
#define CONFIG_H263I_DECODER 0
|
||||
#define CONFIG_H264_DECODER 1
|
||||
#define CONFIG_H264_VDPAU_DECODER 0
|
||||
#define CONFIG_HUFFYUV_DECODER 0
|
||||
#define CONFIG_IDCIN_DECODER 0
|
||||
#define CONFIG_IFF_BYTERUN1_DECODER 0
|
||||
#define CONFIG_IFF_ILBM_DECODER 0
|
||||
#define CONFIG_INDEO2_DECODER 0
|
||||
#define CONFIG_INDEO3_DECODER 0
|
||||
#define CONFIG_INDEO5_DECODER 0
|
||||
#define CONFIG_INTERPLAY_VIDEO_DECODER 0
|
||||
#define CONFIG_JPEGLS_DECODER 0
|
||||
#define CONFIG_KGV1_DECODER 0
|
||||
#define CONFIG_KMVC_DECODER 0
|
||||
#define CONFIG_LOCO_DECODER 0
|
||||
#define CONFIG_MDEC_DECODER 0
|
||||
#define CONFIG_MIMIC_DECODER 0
|
||||
#define CONFIG_MJPEG_DECODER 1
|
||||
#define CONFIG_MJPEGB_DECODER 0
|
||||
#define CONFIG_MMVIDEO_DECODER 0
|
||||
#define CONFIG_MOTIONPIXELS_DECODER 0
|
||||
#define CONFIG_MPEG_XVMC_DECODER 0
|
||||
#define CONFIG_MPEG1VIDEO_DECODER 0
|
||||
#define CONFIG_MPEG2VIDEO_DECODER 0
|
||||
#define CONFIG_MPEG4_DECODER 1
|
||||
#define CONFIG_MPEG4_VDPAU_DECODER 0
|
||||
#define CONFIG_MPEGVIDEO_DECODER 0
|
||||
#define CONFIG_MPEG_VDPAU_DECODER 0
|
||||
#define CONFIG_MPEG1_VDPAU_DECODER 0
|
||||
#define CONFIG_MSMPEG4V1_DECODER 0
|
||||
#define CONFIG_MSMPEG4V2_DECODER 0
|
||||
#define CONFIG_MSMPEG4V3_DECODER 0
|
||||
#define CONFIG_MSRLE_DECODER 0
|
||||
#define CONFIG_MSVIDEO1_DECODER 0
|
||||
#define CONFIG_MSZH_DECODER 0
|
||||
#define CONFIG_NUV_DECODER 0
|
||||
#define CONFIG_PAM_DECODER 0
|
||||
#define CONFIG_PBM_DECODER 0
|
||||
#define CONFIG_PCX_DECODER 0
|
||||
#define CONFIG_PGM_DECODER 0
|
||||
#define CONFIG_PGMYUV_DECODER 0
|
||||
#define CONFIG_PICTOR_DECODER 0
|
||||
#define CONFIG_PNG_DECODER 0
|
||||
#define CONFIG_PPM_DECODER 0
|
||||
#define CONFIG_PTX_DECODER 0
|
||||
#define CONFIG_QDRAW_DECODER 0
|
||||
#define CONFIG_QPEG_DECODER 0
|
||||
#define CONFIG_QTRLE_DECODER 0
|
||||
#define CONFIG_R10K_DECODER 0
|
||||
#define CONFIG_R210_DECODER 0
|
||||
#define CONFIG_RAWVIDEO_DECODER 0
|
||||
#define CONFIG_RL2_DECODER 0
|
||||
#define CONFIG_ROQ_DECODER 0
|
||||
#define CONFIG_RPZA_DECODER 0
|
||||
#define CONFIG_RV10_DECODER 0
|
||||
#define CONFIG_RV20_DECODER 0
|
||||
#define CONFIG_RV30_DECODER 0
|
||||
#define CONFIG_RV40_DECODER 0
|
||||
#define CONFIG_SGI_DECODER 0
|
||||
#define CONFIG_SMACKER_DECODER 0
|
||||
#define CONFIG_SMC_DECODER 0
|
||||
#define CONFIG_SNOW_DECODER 0
|
||||
#define CONFIG_SP5X_DECODER 0
|
||||
#define CONFIG_SUNRAST_DECODER 0
|
||||
#define CONFIG_SVQ1_DECODER 0
|
||||
#define CONFIG_SVQ3_DECODER 0
|
||||
#define CONFIG_TARGA_DECODER 0
|
||||
#define CONFIG_THEORA_DECODER 0
|
||||
#define CONFIG_THP_DECODER 0
|
||||
#define CONFIG_TIERTEXSEQVIDEO_DECODER 0
|
||||
#define CONFIG_TIFF_DECODER 0
|
||||
#define CONFIG_TMV_DECODER 0
|
||||
#define CONFIG_TRUEMOTION1_DECODER 0
|
||||
#define CONFIG_TRUEMOTION2_DECODER 0
|
||||
#define CONFIG_TSCC_DECODER 0
|
||||
#define CONFIG_TXD_DECODER 0
|
||||
#define CONFIG_ULTI_DECODER 0
|
||||
#define CONFIG_V210_DECODER 0
|
||||
#define CONFIG_V210X_DECODER 0
|
||||
#define CONFIG_VB_DECODER 0
|
||||
#define CONFIG_VC1_DECODER 0
|
||||
#define CONFIG_VC1_VDPAU_DECODER 0
|
||||
#define CONFIG_VCR1_DECODER 0
|
||||
#define CONFIG_VMDVIDEO_DECODER 0
|
||||
#define CONFIG_VMNC_DECODER 0
|
||||
#define CONFIG_VP3_DECODER 0
|
||||
#define CONFIG_VP5_DECODER 0
|
||||
#define CONFIG_VP6_DECODER 0
|
||||
#define CONFIG_VP6A_DECODER 0
|
||||
#define CONFIG_VP6F_DECODER 0
|
||||
#define CONFIG_VP8_DECODER 0
|
||||
#define CONFIG_VQA_DECODER 0
|
||||
#define CONFIG_WMV1_DECODER 0
|
||||
#define CONFIG_WMV2_DECODER 0
|
||||
#define CONFIG_WMV3_DECODER 0
|
||||
#define CONFIG_WMV3_VDPAU_DECODER 0
|
||||
#define CONFIG_WNV1_DECODER 0
|
||||
#define CONFIG_XAN_WC3_DECODER 0
|
||||
#define CONFIG_XL_DECODER 0
|
||||
#define CONFIG_YOP_DECODER 0
|
||||
#define CONFIG_ZLIB_DECODER 0
|
||||
#define CONFIG_ZMBV_DECODER 0
|
||||
#define CONFIG_AAC_DECODER 0
|
||||
#define CONFIG_AC3_DECODER 0
|
||||
#define CONFIG_ALAC_DECODER 0
|
||||
#define CONFIG_ALS_DECODER 0
|
||||
#define CONFIG_AMRNB_DECODER 0
|
||||
#define CONFIG_APE_DECODER 0
|
||||
#define CONFIG_ATRAC1_DECODER 0
|
||||
#define CONFIG_ATRAC3_DECODER 0
|
||||
#define CONFIG_BINKAUDIO_DCT_DECODER 0
|
||||
#define CONFIG_BINKAUDIO_RDFT_DECODER 0
|
||||
#define CONFIG_COOK_DECODER 0
|
||||
#define CONFIG_DCA_DECODER 0
|
||||
#define CONFIG_DSICINAUDIO_DECODER 0
|
||||
#define CONFIG_EAC3_DECODER 0
|
||||
#define CONFIG_FLAC_DECODER 0
|
||||
#define CONFIG_GSM_DECODER 0
|
||||
#define CONFIG_GSM_MS_DECODER 0
|
||||
#define CONFIG_IMC_DECODER 0
|
||||
#define CONFIG_MACE3_DECODER 0
|
||||
#define CONFIG_MACE6_DECODER 0
|
||||
#define CONFIG_MLP_DECODER 0
|
||||
#define CONFIG_MP1_DECODER 0
|
||||
#define CONFIG_MP1FLOAT_DECODER 0
|
||||
#define CONFIG_MP2_DECODER 0
|
||||
#define CONFIG_MP2FLOAT_DECODER 0
|
||||
#define CONFIG_MP3_DECODER 0
|
||||
#define CONFIG_MP3FLOAT_DECODER 0
|
||||
#define CONFIG_MP3ADU_DECODER 0
|
||||
#define CONFIG_MP3ADUFLOAT_DECODER 0
|
||||
#define CONFIG_MP3ON4_DECODER 0
|
||||
#define CONFIG_MP3ON4FLOAT_DECODER 0
|
||||
#define CONFIG_MPC7_DECODER 0
|
||||
#define CONFIG_MPC8_DECODER 0
|
||||
#define CONFIG_NELLYMOSER_DECODER 0
|
||||
#define CONFIG_QCELP_DECODER 0
|
||||
#define CONFIG_QDM2_DECODER 0
|
||||
#define CONFIG_RA_144_DECODER 0
|
||||
#define CONFIG_RA_288_DECODER 0
|
||||
#define CONFIG_SHORTEN_DECODER 0
|
||||
#define CONFIG_SIPR_DECODER 0
|
||||
#define CONFIG_SMACKAUD_DECODER 0
|
||||
#define CONFIG_SONIC_DECODER 0
|
||||
#define CONFIG_TRUEHD_DECODER 0
|
||||
#define CONFIG_TRUESPEECH_DECODER 0
|
||||
#define CONFIG_TTA_DECODER 0
|
||||
#define CONFIG_TWINVQ_DECODER 0
|
||||
#define CONFIG_VMDAUDIO_DECODER 0
|
||||
#define CONFIG_VORBIS_DECODER 0
|
||||
#define CONFIG_WAVPACK_DECODER 0
|
||||
#define CONFIG_WMAPRO_DECODER 0
|
||||
#define CONFIG_WMAV1_DECODER 0
|
||||
#define CONFIG_WMAV2_DECODER 0
|
||||
#define CONFIG_WMAVOICE_DECODER 0
|
||||
#define CONFIG_WS_SND1_DECODER 0
|
||||
#define CONFIG_PCM_ALAW_DECODER 0
|
||||
#define CONFIG_PCM_BLURAY_DECODER 0
|
||||
#define CONFIG_PCM_DVD_DECODER 0
|
||||
#define CONFIG_PCM_F32BE_DECODER 0
|
||||
#define CONFIG_PCM_F32LE_DECODER 0
|
||||
#define CONFIG_PCM_F64BE_DECODER 0
|
||||
#define CONFIG_PCM_F64LE_DECODER 0
|
||||
#define CONFIG_PCM_MULAW_DECODER 0
|
||||
#define CONFIG_PCM_S8_DECODER 0
|
||||
#define CONFIG_PCM_S16BE_DECODER 0
|
||||
#define CONFIG_PCM_S16LE_DECODER 0
|
||||
#define CONFIG_PCM_S16LE_PLANAR_DECODER 0
|
||||
#define CONFIG_PCM_S24BE_DECODER 0
|
||||
#define CONFIG_PCM_S24DAUD_DECODER 0
|
||||
#define CONFIG_PCM_S24LE_DECODER 0
|
||||
#define CONFIG_PCM_S32BE_DECODER 0
|
||||
#define CONFIG_PCM_S32LE_DECODER 0
|
||||
#define CONFIG_PCM_U8_DECODER 0
|
||||
#define CONFIG_PCM_U16BE_DECODER 0
|
||||
#define CONFIG_PCM_U16LE_DECODER 0
|
||||
#define CONFIG_PCM_U24BE_DECODER 0
|
||||
#define CONFIG_PCM_U24LE_DECODER 0
|
||||
#define CONFIG_PCM_U32BE_DECODER 0
|
||||
#define CONFIG_PCM_U32LE_DECODER 0
|
||||
#define CONFIG_PCM_ZORK_DECODER 0
|
||||
#define CONFIG_INTERPLAY_DPCM_DECODER 0
|
||||
#define CONFIG_ROQ_DPCM_DECODER 0
|
||||
#define CONFIG_SOL_DPCM_DECODER 0
|
||||
#define CONFIG_XAN_DPCM_DECODER 0
|
||||
#define CONFIG_ADPCM_4XM_DECODER 0
|
||||
#define CONFIG_ADPCM_ADX_DECODER 0
|
||||
#define CONFIG_ADPCM_CT_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_MAXIS_XA_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_R1_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_R2_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_R3_DECODER 0
|
||||
#define CONFIG_ADPCM_EA_XAS_DECODER 0
|
||||
#define CONFIG_ADPCM_G722_DECODER 0
|
||||
#define CONFIG_ADPCM_G726_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_AMV_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_DK3_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_DK4_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_EA_EACS_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_EA_SEAD_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_ISS_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_QT_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_SMJPEG_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_WAV_DECODER 0
|
||||
#define CONFIG_ADPCM_IMA_WS_DECODER 0
|
||||
#define CONFIG_ADPCM_MS_DECODER 0
|
||||
#define CONFIG_ADPCM_SBPRO_2_DECODER 0
|
||||
#define CONFIG_ADPCM_SBPRO_3_DECODER 0
|
||||
#define CONFIG_ADPCM_SBPRO_4_DECODER 0
|
||||
#define CONFIG_ADPCM_SWF_DECODER 0
|
||||
#define CONFIG_ADPCM_THP_DECODER 0
|
||||
#define CONFIG_ADPCM_XA_DECODER 0
|
||||
#define CONFIG_ADPCM_YAMAHA_DECODER 0
|
||||
#define CONFIG_DVBSUB_DECODER 0
|
||||
#define CONFIG_DVDSUB_DECODER 0
|
||||
#define CONFIG_PGSSUB_DECODER 0
|
||||
#define CONFIG_XSUB_DECODER 0
|
||||
#define CONFIG_LIBDIRAC_DECODER 0
|
||||
#define CONFIG_LIBGSM_DECODER 0
|
||||
#define CONFIG_LIBGSM_MS_DECODER 0
|
||||
#define CONFIG_LIBOPENCORE_AMRNB_DECODER 0
|
||||
#define CONFIG_LIBOPENCORE_AMRWB_DECODER 0
|
||||
#define CONFIG_LIBOPENJPEG_DECODER 0
|
||||
#define CONFIG_LIBSCHROEDINGER_DECODER 0
|
||||
#define CONFIG_LIBSPEEX_DECODER 0
|
||||
#define CONFIG_LIBVPX_DECODER 0
|
||||
#define CONFIG_A64MULTI_ENCODER 0
|
||||
#define CONFIG_A64MULTI5_ENCODER 0
|
||||
#define CONFIG_ASV1_ENCODER 0
|
||||
#define CONFIG_ASV2_ENCODER 0
|
||||
#define CONFIG_BMP_ENCODER 0
|
||||
#define CONFIG_DNXHD_ENCODER 0
|
||||
#define CONFIG_DVVIDEO_ENCODER 0
|
||||
#define CONFIG_FFV1_ENCODER 0
|
||||
#define CONFIG_FFVHUFF_ENCODER 0
|
||||
#define CONFIG_FLASHSV_ENCODER 0
|
||||
#define CONFIG_FLV_ENCODER 0
|
||||
#define CONFIG_GIF_ENCODER 0
|
||||
#define CONFIG_H261_ENCODER 0
|
||||
#define CONFIG_H263_ENCODER 1
|
||||
#define CONFIG_H263P_ENCODER 0
|
||||
#define CONFIG_HUFFYUV_ENCODER 0
|
||||
#define CONFIG_JPEGLS_ENCODER 0
|
||||
#define CONFIG_LJPEG_ENCODER 0
|
||||
#define CONFIG_MJPEG_ENCODER 0
|
||||
#define CONFIG_MPEG1VIDEO_ENCODER 0
|
||||
#define CONFIG_MPEG2VIDEO_ENCODER 0
|
||||
#define CONFIG_MPEG4_ENCODER 1
|
||||
#define CONFIG_MSMPEG4V1_ENCODER 0
|
||||
#define CONFIG_MSMPEG4V2_ENCODER 0
|
||||
#define CONFIG_MSMPEG4V3_ENCODER 0
|
||||
#define CONFIG_PAM_ENCODER 0
|
||||
#define CONFIG_PBM_ENCODER 0
|
||||
#define CONFIG_PCX_ENCODER 0
|
||||
#define CONFIG_PGM_ENCODER 0
|
||||
#define CONFIG_PGMYUV_ENCODER 0
|
||||
#define CONFIG_PNG_ENCODER 0
|
||||
#define CONFIG_PPM_ENCODER 0
|
||||
#define CONFIG_QTRLE_ENCODER 0
|
||||
#define CONFIG_RAWVIDEO_ENCODER 0
|
||||
#define CONFIG_ROQ_ENCODER 0
|
||||
#define CONFIG_RV10_ENCODER 0
|
||||
#define CONFIG_RV20_ENCODER 0
|
||||
#define CONFIG_SGI_ENCODER 0
|
||||
#define CONFIG_SNOW_ENCODER 0
|
||||
#define CONFIG_SVQ1_ENCODER 0
|
||||
#define CONFIG_TARGA_ENCODER 0
|
||||
#define CONFIG_TIFF_ENCODER 0
|
||||
#define CONFIG_V210_ENCODER 0
|
||||
#define CONFIG_WMV1_ENCODER 0
|
||||
#define CONFIG_WMV2_ENCODER 0
|
||||
#define CONFIG_ZLIB_ENCODER 0
|
||||
#define CONFIG_ZMBV_ENCODER 0
|
||||
#define CONFIG_AAC_ENCODER 0
|
||||
#define CONFIG_AC3_ENCODER 0
|
||||
#define CONFIG_ALAC_ENCODER 0
|
||||
#define CONFIG_FLAC_ENCODER 0
|
||||
#define CONFIG_MP2_ENCODER 0
|
||||
#define CONFIG_NELLYMOSER_ENCODER 0
|
||||
#define CONFIG_RA_144_ENCODER 0
|
||||
#define CONFIG_SONIC_ENCODER 0
|
||||
#define CONFIG_SONIC_LS_ENCODER 0
|
||||
#define CONFIG_VORBIS_ENCODER 0
|
||||
#define CONFIG_WMAV1_ENCODER 0
|
||||
#define CONFIG_WMAV2_ENCODER 0
|
||||
#define CONFIG_PCM_ALAW_ENCODER 0
|
||||
#define CONFIG_PCM_F32BE_ENCODER 0
|
||||
#define CONFIG_PCM_F32LE_ENCODER 0
|
||||
#define CONFIG_PCM_F64BE_ENCODER 0
|
||||
#define CONFIG_PCM_F64LE_ENCODER 0
|
||||
#define CONFIG_PCM_MULAW_ENCODER 0
|
||||
#define CONFIG_PCM_S8_ENCODER 0
|
||||
#define CONFIG_PCM_S16BE_ENCODER 0
|
||||
#define CONFIG_PCM_S16LE_ENCODER 0
|
||||
#define CONFIG_PCM_S24BE_ENCODER 0
|
||||
#define CONFIG_PCM_S24DAUD_ENCODER 0
|
||||
#define CONFIG_PCM_S24LE_ENCODER 0
|
||||
#define CONFIG_PCM_S32BE_ENCODER 0
|
||||
#define CONFIG_PCM_S32LE_ENCODER 0
|
||||
#define CONFIG_PCM_U8_ENCODER 0
|
||||
#define CONFIG_PCM_U16BE_ENCODER 0
|
||||
#define CONFIG_PCM_U16LE_ENCODER 0
|
||||
#define CONFIG_PCM_U24BE_ENCODER 0
|
||||
#define CONFIG_PCM_U24LE_ENCODER 0
|
||||
#define CONFIG_PCM_U32BE_ENCODER 0
|
||||
#define CONFIG_PCM_U32LE_ENCODER 0
|
||||
#define CONFIG_PCM_ZORK_ENCODER 0
|
||||
#define CONFIG_ROQ_DPCM_ENCODER 0
|
||||
#define CONFIG_ADPCM_ADX_ENCODER 0
|
||||
#define CONFIG_ADPCM_G722_ENCODER 0
|
||||
#define CONFIG_ADPCM_G726_ENCODER 0
|
||||
#define CONFIG_ADPCM_IMA_QT_ENCODER 0
|
||||
#define CONFIG_ADPCM_IMA_WAV_ENCODER 0
|
||||
#define CONFIG_ADPCM_MS_ENCODER 0
|
||||
#define CONFIG_ADPCM_SWF_ENCODER 0
|
||||
#define CONFIG_ADPCM_YAMAHA_ENCODER 0
|
||||
#define CONFIG_DVBSUB_ENCODER 0
|
||||
#define CONFIG_DVDSUB_ENCODER 0
|
||||
#define CONFIG_XSUB_ENCODER 0
|
||||
#define CONFIG_LIBDIRAC_ENCODER 0
|
||||
#define CONFIG_LIBFAAC_ENCODER 0
|
||||
#define CONFIG_LIBGSM_ENCODER 0
|
||||
#define CONFIG_LIBGSM_MS_ENCODER 0
|
||||
#define CONFIG_LIBMP3LAME_ENCODER 0
|
||||
#define CONFIG_LIBOPENCORE_AMRNB_ENCODER 0
|
||||
#define CONFIG_LIBSCHROEDINGER_ENCODER 0
|
||||
#define CONFIG_LIBTHEORA_ENCODER 0
|
||||
#define CONFIG_LIBVORBIS_ENCODER 0
|
||||
#define CONFIG_LIBVPX_ENCODER 0
|
||||
#define CONFIG_LIBX264_ENCODER 0
|
||||
#define CONFIG_LIBXAVS_ENCODER 0
|
||||
#define CONFIG_LIBXVID_ENCODER 0
|
||||
#define CONFIG_H263_VAAPI_HWACCEL 0
|
||||
#define CONFIG_H264_DXVA2_HWACCEL 0
|
||||
#define CONFIG_H264_VAAPI_HWACCEL 0
|
||||
#define CONFIG_MPEG2_DXVA2_HWACCEL 0
|
||||
#define CONFIG_MPEG2_VAAPI_HWACCEL 0
|
||||
#define CONFIG_MPEG4_VAAPI_HWACCEL 0
|
||||
#define CONFIG_VC1_DXVA2_HWACCEL 0
|
||||
#define CONFIG_VC1_VAAPI_HWACCEL 0
|
||||
#define CONFIG_WMV3_DXVA2_HWACCEL 0
|
||||
#define CONFIG_WMV3_VAAPI_HWACCEL 0
|
||||
#define CONFIG_AAC_PARSER 0
|
||||
#define CONFIG_AC3_PARSER 0
|
||||
#define CONFIG_CAVSVIDEO_PARSER 0
|
||||
#define CONFIG_DCA_PARSER 0
|
||||
#define CONFIG_DIRAC_PARSER 0
|
||||
#define CONFIG_DNXHD_PARSER 0
|
||||
#define CONFIG_DVBSUB_PARSER 0
|
||||
#define CONFIG_DVDSUB_PARSER 0
|
||||
#define CONFIG_H261_PARSER 0
|
||||
#define CONFIG_H263_PARSER 1
|
||||
#define CONFIG_H264_PARSER 0
|
||||
#define CONFIG_MJPEG_PARSER 0
|
||||
#define CONFIG_MLP_PARSER 0
|
||||
#define CONFIG_MPEG4VIDEO_PARSER 1
|
||||
#define CONFIG_MPEGAUDIO_PARSER 0
|
||||
#define CONFIG_MPEGVIDEO_PARSER 0
|
||||
#define CONFIG_PNM_PARSER 0
|
||||
#define CONFIG_VC1_PARSER 0
|
||||
#define CONFIG_VP3_PARSER 0
|
||||
#define CONFIG_VP8_PARSER 0
|
||||
#define CONFIG_AAC_ADTSTOASC_BSF 0
|
||||
#define CONFIG_CHOMP_BSF 0
|
||||
#define CONFIG_DUMP_EXTRADATA_BSF 0
|
||||
#define CONFIG_H264_MP4TOANNEXB_BSF 0
|
||||
#define CONFIG_IMX_DUMP_HEADER_BSF 0
|
||||
#define CONFIG_MJPEGA_DUMP_HEADER_BSF 0
|
||||
#define CONFIG_MP3_HEADER_COMPRESS_BSF 0
|
||||
#define CONFIG_MP3_HEADER_DECOMPRESS_BSF 0
|
||||
#define CONFIG_MOV2TEXTSUB_BSF 0
|
||||
#define CONFIG_NOISE_BSF 0
|
||||
#define CONFIG_REMOVE_EXTRADATA_BSF 0
|
||||
#define CONFIG_TEXT2MOVSUB_BSF 0
|
||||
#define CONFIG_AAC_DEMUXER 0
|
||||
#define CONFIG_AC3_DEMUXER 0
|
||||
#define CONFIG_AEA_DEMUXER 0
|
||||
#define CONFIG_AIFF_DEMUXER 0
|
||||
#define CONFIG_AMR_DEMUXER 0
|
||||
#define CONFIG_ANM_DEMUXER 0
|
||||
#define CONFIG_APC_DEMUXER 0
|
||||
#define CONFIG_APE_DEMUXER 0
|
||||
#define CONFIG_APPLEHTTP_DEMUXER 0
|
||||
#define CONFIG_ASF_DEMUXER 0
|
||||
#define CONFIG_ASS_DEMUXER 0
|
||||
#define CONFIG_AU_DEMUXER 0
|
||||
#define CONFIG_AVI_DEMUXER 0
|
||||
#define CONFIG_AVISYNTH_DEMUXER 0
|
||||
#define CONFIG_AVS_DEMUXER 0
|
||||
#define CONFIG_BETHSOFTVID_DEMUXER 0
|
||||
#define CONFIG_BFI_DEMUXER 0
|
||||
#define CONFIG_BINK_DEMUXER 0
|
||||
#define CONFIG_C93_DEMUXER 0
|
||||
#define CONFIG_CAF_DEMUXER 0
|
||||
#define CONFIG_CAVSVIDEO_DEMUXER 0
|
||||
#define CONFIG_CDG_DEMUXER 0
|
||||
#define CONFIG_DAUD_DEMUXER 0
|
||||
#define CONFIG_DIRAC_DEMUXER 0
|
||||
#define CONFIG_DNXHD_DEMUXER 0
|
||||
#define CONFIG_DSICIN_DEMUXER 0
|
||||
#define CONFIG_DTS_DEMUXER 0
|
||||
#define CONFIG_DV_DEMUXER 0
|
||||
#define CONFIG_DXA_DEMUXER 0
|
||||
#define CONFIG_EA_DEMUXER 0
|
||||
#define CONFIG_EA_CDATA_DEMUXER 0
|
||||
#define CONFIG_EAC3_DEMUXER 0
|
||||
#define CONFIG_FFM_DEMUXER 0
|
||||
#define CONFIG_FILMSTRIP_DEMUXER 0
|
||||
#define CONFIG_FLAC_DEMUXER 0
|
||||
#define CONFIG_FLIC_DEMUXER 0
|
||||
#define CONFIG_FLV_DEMUXER 0
|
||||
#define CONFIG_FOURXM_DEMUXER 0
|
||||
#define CONFIG_G722_DEMUXER 0
|
||||
#define CONFIG_GSM_DEMUXER 0
|
||||
#define CONFIG_GXF_DEMUXER 0
|
||||
#define CONFIG_H261_DEMUXER 0
|
||||
#define CONFIG_H263_DEMUXER 0
|
||||
#define CONFIG_H264_DEMUXER 0
|
||||
#define CONFIG_IDCIN_DEMUXER 0
|
||||
#define CONFIG_IFF_DEMUXER 0
|
||||
#define CONFIG_IMAGE2_DEMUXER 0
|
||||
#define CONFIG_IMAGE2PIPE_DEMUXER 0
|
||||
#define CONFIG_INGENIENT_DEMUXER 0
|
||||
#define CONFIG_IPMOVIE_DEMUXER 0
|
||||
#define CONFIG_ISS_DEMUXER 0
|
||||
#define CONFIG_IV8_DEMUXER 0
|
||||
#define CONFIG_IVF_DEMUXER 0
|
||||
#define CONFIG_LMLM4_DEMUXER 0
|
||||
#define CONFIG_M4V_DEMUXER 0
|
||||
#define CONFIG_MATROSKA_DEMUXER 0
|
||||
#define CONFIG_MJPEG_DEMUXER 0
|
||||
#define CONFIG_MLP_DEMUXER 0
|
||||
#define CONFIG_MM_DEMUXER 0
|
||||
#define CONFIG_MMF_DEMUXER 0
|
||||
#define CONFIG_MOV_DEMUXER 0
|
||||
#define CONFIG_MP3_DEMUXER 0
|
||||
#define CONFIG_MPC_DEMUXER 0
|
||||
#define CONFIG_MPC8_DEMUXER 0
|
||||
#define CONFIG_MPEGPS_DEMUXER 0
|
||||
#define CONFIG_MPEGTS_DEMUXER 0
|
||||
#define CONFIG_MPEGTSRAW_DEMUXER 0
|
||||
#define CONFIG_MPEGVIDEO_DEMUXER 0
|
||||
#define CONFIG_MSNWC_TCP_DEMUXER 0
|
||||
#define CONFIG_MTV_DEMUXER 0
|
||||
#define CONFIG_MVI_DEMUXER 0
|
||||
#define CONFIG_MXF_DEMUXER 0
|
||||
#define CONFIG_NC_DEMUXER 0
|
||||
#define CONFIG_NSV_DEMUXER 0
|
||||
#define CONFIG_NUT_DEMUXER 0
|
||||
#define CONFIG_NUV_DEMUXER 0
|
||||
#define CONFIG_OGG_DEMUXER 0
|
||||
#define CONFIG_OMA_DEMUXER 0
|
||||
#define CONFIG_PCM_ALAW_DEMUXER 0
|
||||
#define CONFIG_PCM_MULAW_DEMUXER 0
|
||||
#define CONFIG_PCM_F64BE_DEMUXER 0
|
||||
#define CONFIG_PCM_F64LE_DEMUXER 0
|
||||
#define CONFIG_PCM_F32BE_DEMUXER 0
|
||||
#define CONFIG_PCM_F32LE_DEMUXER 0
|
||||
#define CONFIG_PCM_S32BE_DEMUXER 0
|
||||
#define CONFIG_PCM_S32LE_DEMUXER 0
|
||||
#define CONFIG_PCM_S24BE_DEMUXER 0
|
||||
#define CONFIG_PCM_S24LE_DEMUXER 0
|
||||
#define CONFIG_PCM_S16BE_DEMUXER 0
|
||||
#define CONFIG_PCM_S16LE_DEMUXER 0
|
||||
#define CONFIG_PCM_S8_DEMUXER 0
|
||||
#define CONFIG_PCM_U32BE_DEMUXER 0
|
||||
#define CONFIG_PCM_U32LE_DEMUXER 0
|
||||
#define CONFIG_PCM_U24BE_DEMUXER 0
|
||||
#define CONFIG_PCM_U24LE_DEMUXER 0
|
||||
#define CONFIG_PCM_U16BE_DEMUXER 0
|
||||
#define CONFIG_PCM_U16LE_DEMUXER 0
|
||||
#define CONFIG_PCM_U8_DEMUXER 0
|
||||
#define CONFIG_PVA_DEMUXER 0
|
||||
#define CONFIG_QCP_DEMUXER 0
|
||||
#define CONFIG_R3D_DEMUXER 0
|
||||
#define CONFIG_RAWVIDEO_DEMUXER 0
|
||||
#define CONFIG_RL2_DEMUXER 0
|
||||
#define CONFIG_RM_DEMUXER 0
|
||||
#define CONFIG_ROQ_DEMUXER 0
|
||||
#define CONFIG_RPL_DEMUXER 0
|
||||
#define CONFIG_RSO_DEMUXER 0
|
||||
#define CONFIG_RTSP_DEMUXER 0
|
||||
#define CONFIG_SDP_DEMUXER 0
|
||||
#define CONFIG_SEGAFILM_DEMUXER 0
|
||||
#define CONFIG_SHORTEN_DEMUXER 0
|
||||
#define CONFIG_SIFF_DEMUXER 0
|
||||
#define CONFIG_SMACKER_DEMUXER 0
|
||||
#define CONFIG_SOL_DEMUXER 0
|
||||
#define CONFIG_SOX_DEMUXER 0
|
||||
#define CONFIG_SRT_DEMUXER 0
|
||||
#define CONFIG_STR_DEMUXER 0
|
||||
#define CONFIG_SWF_DEMUXER 0
|
||||
#define CONFIG_THP_DEMUXER 0
|
||||
#define CONFIG_TIERTEXSEQ_DEMUXER 0
|
||||
#define CONFIG_TMV_DEMUXER 0
|
||||
#define CONFIG_TRUEHD_DEMUXER 0
|
||||
#define CONFIG_TTA_DEMUXER 0
|
||||
#define CONFIG_TXD_DEMUXER 0
|
||||
#define CONFIG_TTY_DEMUXER 0
|
||||
#define CONFIG_VC1_DEMUXER 0
|
||||
#define CONFIG_VC1T_DEMUXER 0
|
||||
#define CONFIG_VMD_DEMUXER 0
|
||||
#define CONFIG_VOC_DEMUXER 0
|
||||
#define CONFIG_VQF_DEMUXER 0
|
||||
#define CONFIG_W64_DEMUXER 0
|
||||
#define CONFIG_WAV_DEMUXER 0
|
||||
#define CONFIG_WC3_DEMUXER 0
|
||||
#define CONFIG_WSAUD_DEMUXER 0
|
||||
#define CONFIG_WSVQA_DEMUXER 0
|
||||
#define CONFIG_WV_DEMUXER 0
|
||||
#define CONFIG_XA_DEMUXER 0
|
||||
#define CONFIG_YOP_DEMUXER 0
|
||||
#define CONFIG_YUV4MPEGPIPE_DEMUXER 0
|
||||
#define CONFIG_LIBNUT_DEMUXER 0
|
||||
#define CONFIG_A64_MUXER 0
|
||||
#define CONFIG_AC3_MUXER 0
|
||||
#define CONFIG_ADTS_MUXER 0
|
||||
#define CONFIG_AIFF_MUXER 0
|
||||
#define CONFIG_AMR_MUXER 0
|
||||
#define CONFIG_ASF_MUXER 0
|
||||
#define CONFIG_ASS_MUXER 0
|
||||
#define CONFIG_ASF_STREAM_MUXER 0
|
||||
#define CONFIG_AU_MUXER 0
|
||||
#define CONFIG_AVI_MUXER 0
|
||||
#define CONFIG_AVM2_MUXER 0
|
||||
#define CONFIG_CAVSVIDEO_MUXER 0
|
||||
#define CONFIG_CRC_MUXER 0
|
||||
#define CONFIG_DAUD_MUXER 0
|
||||
#define CONFIG_DIRAC_MUXER 0
|
||||
#define CONFIG_DNXHD_MUXER 0
|
||||
#define CONFIG_DTS_MUXER 0
|
||||
#define CONFIG_DV_MUXER 0
|
||||
#define CONFIG_EAC3_MUXER 0
|
||||
#define CONFIG_FFM_MUXER 0
|
||||
#define CONFIG_FILMSTRIP_MUXER 0
|
||||
#define CONFIG_FLAC_MUXER 0
|
||||
#define CONFIG_FLV_MUXER 0
|
||||
#define CONFIG_FRAMECRC_MUXER 0
|
||||
#define CONFIG_FRAMEMD5_MUXER 0
|
||||
#define CONFIG_G722_MUXER 0
|
||||
#define CONFIG_GIF_MUXER 0
|
||||
#define CONFIG_GXF_MUXER 0
|
||||
#define CONFIG_H261_MUXER 0
|
||||
#define CONFIG_H263_MUXER 0
|
||||
#define CONFIG_H264_MUXER 0
|
||||
#define CONFIG_IMAGE2_MUXER 0
|
||||
#define CONFIG_IMAGE2PIPE_MUXER 0
|
||||
#define CONFIG_IPOD_MUXER 0
|
||||
#define CONFIG_M4V_MUXER 0
|
||||
#define CONFIG_MD5_MUXER 0
|
||||
#define CONFIG_MATROSKA_MUXER 0
|
||||
#define CONFIG_MATROSKA_AUDIO_MUXER 0
|
||||
#define CONFIG_MJPEG_MUXER 0
|
||||
#define CONFIG_MLP_MUXER 0
|
||||
#define CONFIG_MMF_MUXER 0
|
||||
#define CONFIG_MOV_MUXER 0
|
||||
#define CONFIG_MP2_MUXER 0
|
||||
#define CONFIG_MP3_MUXER 0
|
||||
#define CONFIG_MP4_MUXER 0
|
||||
#define CONFIG_MPEG1SYSTEM_MUXER 0
|
||||
#define CONFIG_MPEG1VCD_MUXER 0
|
||||
#define CONFIG_MPEG1VIDEO_MUXER 0
|
||||
#define CONFIG_MPEG2DVD_MUXER 0
|
||||
#define CONFIG_MPEG2SVCD_MUXER 0
|
||||
#define CONFIG_MPEG2VIDEO_MUXER 0
|
||||
#define CONFIG_MPEG2VOB_MUXER 0
|
||||
#define CONFIG_MPEGTS_MUXER 0
|
||||
#define CONFIG_MPJPEG_MUXER 0
|
||||
#define CONFIG_MXF_MUXER 0
|
||||
#define CONFIG_MXF_D10_MUXER 0
|
||||
#define CONFIG_NULL_MUXER 0
|
||||
#define CONFIG_NUT_MUXER 0
|
||||
#define CONFIG_OGG_MUXER 0
|
||||
#define CONFIG_PCM_ALAW_MUXER 0
|
||||
#define CONFIG_PCM_MULAW_MUXER 0
|
||||
#define CONFIG_PCM_F64BE_MUXER 0
|
||||
#define CONFIG_PCM_F64LE_MUXER 0
|
||||
#define CONFIG_PCM_F32BE_MUXER 0
|
||||
#define CONFIG_PCM_F32LE_MUXER 0
|
||||
#define CONFIG_PCM_S32BE_MUXER 0
|
||||
#define CONFIG_PCM_S32LE_MUXER 0
|
||||
#define CONFIG_PCM_S24BE_MUXER 0
|
||||
#define CONFIG_PCM_S24LE_MUXER 0
|
||||
#define CONFIG_PCM_S16BE_MUXER 0
|
||||
#define CONFIG_PCM_S16LE_MUXER 0
|
||||
#define CONFIG_PCM_S8_MUXER 0
|
||||
#define CONFIG_PCM_U32BE_MUXER 0
|
||||
#define CONFIG_PCM_U32LE_MUXER 0
|
||||
#define CONFIG_PCM_U24BE_MUXER 0
|
||||
#define CONFIG_PCM_U24LE_MUXER 0
|
||||
#define CONFIG_PCM_U16BE_MUXER 0
|
||||
#define CONFIG_PCM_U16LE_MUXER 0
|
||||
#define CONFIG_PCM_U8_MUXER 0
|
||||
#define CONFIG_PSP_MUXER 0
|
||||
#define CONFIG_RAWVIDEO_MUXER 0
|
||||
#define CONFIG_RM_MUXER 0
|
||||
#define CONFIG_ROQ_MUXER 0
|
||||
#define CONFIG_RSO_MUXER 0
|
||||
#define CONFIG_RTP_MUXER 0
|
||||
#define CONFIG_RTSP_MUXER 0
|
||||
#define CONFIG_SOX_MUXER 0
|
||||
#define CONFIG_SPDIF_MUXER 0
|
||||
#define CONFIG_SRT_MUXER 0
|
||||
#define CONFIG_SWF_MUXER 0
|
||||
#define CONFIG_TG2_MUXER 0
|
||||
#define CONFIG_TGP_MUXER 0
|
||||
#define CONFIG_TRUEHD_MUXER 0
|
||||
#define CONFIG_VC1T_MUXER 0
|
||||
#define CONFIG_VOC_MUXER 0
|
||||
#define CONFIG_WAV_MUXER 0
|
||||
#define CONFIG_WEBM_MUXER 0
|
||||
#define CONFIG_YUV4MPEGPIPE_MUXER 0
|
||||
#define CONFIG_LIBNUT_MUXER 0
|
||||
#define CONFIG_ANULL_FILTER 0
|
||||
#define CONFIG_ANULLSRC_FILTER 0
|
||||
#define CONFIG_ANULLSINK_FILTER 0
|
||||
#define CONFIG_ASPECT_FILTER 0
|
||||
#define CONFIG_BLACKFRAME_FILTER 0
|
||||
#define CONFIG_CROP_FILTER 0
|
||||
#define CONFIG_DRAWBOX_FILTER 0
|
||||
#define CONFIG_FIFO_FILTER 0
|
||||
#define CONFIG_FORMAT_FILTER 0
|
||||
#define CONFIG_FREI0R_FILTER 0
|
||||
#define CONFIG_HFLIP_FILTER 0
|
||||
#define CONFIG_NOFORMAT_FILTER 0
|
||||
#define CONFIG_NULL_FILTER 0
|
||||
#define CONFIG_OCV_SMOOTH_FILTER 0
|
||||
#define CONFIG_PAD_FILTER 0
|
||||
#define CONFIG_PIXDESCTEST_FILTER 0
|
||||
#define CONFIG_PIXELASPECT_FILTER 0
|
||||
#define CONFIG_SCALE_FILTER 0
|
||||
#define CONFIG_SLICIFY_FILTER 0
|
||||
#define CONFIG_UNSHARP_FILTER 0
|
||||
#define CONFIG_VFLIP_FILTER 0
|
||||
#define CONFIG_YADIF_FILTER 0
|
||||
#define CONFIG_BUFFER_FILTER 0
|
||||
#define CONFIG_COLOR_FILTER 0
|
||||
#define CONFIG_NULLSRC_FILTER 0
|
||||
#define CONFIG_NULLSINK_FILTER 0
|
||||
#define CONFIG_CONCAT_PROTOCOL 0
|
||||
#define CONFIG_FILE_PROTOCOL 0
|
||||
#define CONFIG_GOPHER_PROTOCOL 0
|
||||
#define CONFIG_HTTP_PROTOCOL 0
|
||||
#define CONFIG_MMSH_PROTOCOL 0
|
||||
#define CONFIG_MMST_PROTOCOL 0
|
||||
#define CONFIG_MD5_PROTOCOL 0
|
||||
#define CONFIG_PIPE_PROTOCOL 0
|
||||
#define CONFIG_RTMP_PROTOCOL 0
|
||||
#define CONFIG_RTMPT_PROTOCOL 0
|
||||
#define CONFIG_RTMPE_PROTOCOL 0
|
||||
#define CONFIG_RTMPTE_PROTOCOL 0
|
||||
#define CONFIG_RTMPS_PROTOCOL 0
|
||||
#define CONFIG_RTP_PROTOCOL 0
|
||||
#define CONFIG_TCP_PROTOCOL 0
|
||||
#define CONFIG_UDP_PROTOCOL 0
|
||||
#define CONFIG_ALSA_INDEV 0
|
||||
#define CONFIG_BKTR_INDEV 0
|
||||
#define CONFIG_DV1394_INDEV 0
|
||||
#define CONFIG_JACK_INDEV 0
|
||||
#define CONFIG_OSS_INDEV 0
|
||||
#define CONFIG_V4L2_INDEV 0
|
||||
#define CONFIG_V4L_INDEV 0
|
||||
#define CONFIG_VFWCAP_INDEV 0
|
||||
#define CONFIG_X11_GRAB_DEVICE_INDEV 0
|
||||
#define CONFIG_LIBDC1394_INDEV 0
|
||||
#define CONFIG_ALSA_OUTDEV 0
|
||||
#define CONFIG_OSS_OUTDEV 0
|
||||
|
||||
/*added by hand after ffmpeg update */
|
||||
#define CONFIG_LAGARITH_DECODER 0
|
||||
#define CONFIG_AAC_LATM_DECODER 0
|
||||
#define CONFIG_AC3_FIXED_ENCODER 0
|
||||
#define CONFIG_AMRWB_DECODER 0
|
||||
#define CONFIG_PCM_LXF_DECODER 0
|
||||
#define CONFIG_ASS_ENCODER 0
|
||||
#define CONFIG_ASS_DECODER 0
|
||||
#define CONFIG_SRT_DECODER 0
|
||||
#define CONFIG_AAC_LATM_PARSER 0
|
||||
#define CONFIG_FLAC_PARSER 0
|
||||
#define CONFIG_MJPEG2JPEG_BSF 0
|
||||
|
||||
#endif /* FFMPEG_CONFIG_H */
|
||||
|
6
submodules/externals/build/ffmpeg-no-neon/libavutil/avconfig.h
vendored
Normal file
6
submodules/externals/build/ffmpeg-no-neon/libavutil/avconfig.h
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* Generated by ffconf */
|
||||
#ifndef AVUTIL_AVCONFIG_H
|
||||
#define AVUTIL_AVCONFIG_H
|
||||
#define AV_HAVE_BIGENDIAN 0
|
||||
#define AV_HAVE_FAST_UNALIGNED 1
|
||||
#endif /* AVUTIL_AVCONFIG_H */
|
|
@ -1 +1 @@
|
|||
Subproject commit edad295e0596eebc7ca4aed7472e0e3bdc696b41
|
||||
Subproject commit 53d5f0c2bf8a5fbbfb04ce4126db81ff3da38916
|
Loading…
Reference in a new issue