用NDK编译Live555 - 亲测有效

来源:互联网 发布:软件售后服务收费标准 编辑:程序博客网 时间:2024/06/01 01:34

http://wendal.net/2014/04/29.html

针对 live555 2014.03.25和 live 2014.04.23 也就是当前最新咯.

准备工作

下载源码 http://www.live555.com/liveMedia/public/ 该地址经常被X,请问候非圆校长

解压到一个空文件夹, 并将目录名从live改成jni

建一个文件, 叫 Android.mk

文件内容在 https://gist.github.com/wendal/11399988

编译

在jni目录下执行

ndk-build

如无意外,在 libs/armeabi/ 生成一个so文件.



Android.mk


LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # NDK 7d支持硬浮点的直接编译#APP_ABI := armeabi-v7a-hard LOCAL_MODULE := liblive555 LOCAL_ARM_MODE := arm LOCAL_PRELINK_MODULE := false LOCAL_CPPFLAGS := \-DNULL=0 -DSOCKLEN_T=socklen_t -DNO_SSTREAM -DBSD=1 -DNO_SSTREAM -fexceptions -DANDROID -DXLOCALE_NOT_USED LOCAL_C_INCLUDES := \$(LOCAL_PATH) \$(LOCAL_PATH)/BasicUsageEnvironment/include \$(LOCAL_PATH)/BasicUsageEnvironment \$(LOCAL_PATH)/UsageEnvironment/include \$(LOCAL_PATH)/UsageEnvironment \$(LOCAL_PATH)/groupsock/include \$(LOCAL_PATH)/groupsock \$(LOCAL_PATH)/liveMedia/include \$(LOCAL_PATH)/liveMedia \ LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := \groupsock/IOHandlers.cpp                                       \groupsock/Groupsock.cpp                                        \groupsock/NetAddress.cpp                                       \groupsock/GroupsockHelper.cpp                                  \groupsock/NetInterface.cpp                                     \groupsock/GroupEId.cpp                                         \groupsock/inet.c                                               \liveMedia/rtcp_from_spec.c                                     \liveMedia/MPEG4GenericRTPSource.cpp                            \liveMedia/MatroskaFileServerMediaSubsession.cpp                \liveMedia/DVVideoRTPSink.cpp                                   \liveMedia/H265VideoFileServerMediaSubsession.cpp               \liveMedia/DarwinInjector.cpp                                   \liveMedia/OggFile.cpp                                          \liveMedia/MP3Transcoder.cpp                                    \liveMedia/VorbisAudioRTPSink.cpp                               \liveMedia/H265VideoStreamDiscreteFramer.cpp                    \liveMedia/MPEG2TransportStreamFromESSource.cpp                 \liveMedia/MPEG2TransportStreamIndexFile.cpp                    \liveMedia/MediaSink.cpp                                        \liveMedia/MPEG1or2Demux.cpp                                    \liveMedia/QuickTimeFileSink.cpp                                \liveMedia/MPEG1or2DemuxedServerMediaSubsession.cpp             \liveMedia/MatroskaFileParser.cpp                               \liveMedia/JPEGVideoSource.cpp                                  \liveMedia/H264VideoStreamDiscreteFramer.cpp                    \liveMedia/MP3ADURTPSink.cpp                                    \liveMedia/MPEG4VideoStreamFramer.cpp                           \liveMedia/MP3ADURTPSource.cpp                                  \liveMedia/MP3InternalsHuffmanTable.cpp                         \liveMedia/FramedFileSource.cpp                                 \liveMedia/MPEG4GenericRTPSink.cpp                              \liveMedia/MP3ADUTranscoder.cpp                                 \liveMedia/FramedFilter.cpp                                     \liveMedia/StreamParser.cpp                                     \liveMedia/H265VideoRTPSink.cpp                                 \liveMedia/TCPStreamSink.cpp                                    \liveMedia/BasicUDPSource.cpp                                   \liveMedia/MPEG1or2VideoFileServerMediaSubsession.cpp           \liveMedia/MPEG4ESVideoRTPSource.cpp                            \liveMedia/MatroskaFile.cpp                                     \liveMedia/OggFileSink.cpp                                      \liveMedia/MPEG1or2VideoRTPSource.cpp                           \liveMedia/InputFile.cpp                                        \liveMedia/BitVector.cpp                                        \liveMedia/StreamReplicator.cpp                                 \liveMedia/H264or5VideoStreamDiscreteFramer.cpp                 \liveMedia/MP3FileSource.cpp                                    \liveMedia/OggFileParser.cpp                                    \liveMedia/EBMLNumber.cpp                                       \liveMedia/H263plusVideoStreamParser.cpp                        \liveMedia/VP8VideoRTPSink.cpp                                  \liveMedia/VideoRTPSink.cpp                                     \liveMedia/VorbisAudioRTPSource.cpp                             \liveMedia/H263plusVideoStreamFramer.cpp                        \liveMedia/DVVideoStreamFramer.cpp                              \liveMedia/Base64.cpp                                           \liveMedia/MPEG1or2AudioRTPSink.cpp                             \liveMedia/ByteStreamFileSource.cpp                             \liveMedia/H265VideoRTPSource.cpp                               \liveMedia/AMRAudioFileServerMediaSubsession.cpp                \liveMedia/H261VideoRTPSource.cpp                               \liveMedia/RTSPRegisterSender.cpp                               \liveMedia/MPEG1or2VideoRTPSink.cpp                             \liveMedia/RTSPClient.cpp                                       \liveMedia/RTPSource.cpp                                        \liveMedia/MPEG2IndexFromTransportStream.cpp                    \liveMedia/AMRAudioFileSink.cpp                                 \liveMedia/AudioRTPSink.cpp                                     \liveMedia/H264VideoFileSink.cpp                                \liveMedia/AudioInputDevice.cpp                                 \liveMedia/MPEG4VideoStreamDiscreteFramer.cpp                   \liveMedia/H264or5VideoFileSink.cpp                             \liveMedia/MP3ADUinterleaving.cpp                               \liveMedia/AC3AudioStreamFramer.cpp                             \liveMedia/MPEG2TransportStreamTrickModeFilter.cpp              \liveMedia/MPEG1or2DemuxedElementaryStream.cpp                  \liveMedia/MPEG4ESVideoRTPSink.cpp                              \liveMedia/H264VideoFileServerMediaSubsession.cpp               \liveMedia/OnDemandServerMediaSubsession.cpp                    \liveMedia/OutputFile.cpp                                       \liveMedia/FileSink.cpp                                         \liveMedia/FileServerMediaSubsession.cpp                        \liveMedia/MP3InternalsHuffman.cpp                              \liveMedia/AMRAudioRTPSource.cpp                                \liveMedia/MatroskaFileServerDemux.cpp                          \liveMedia/ADTSAudioFileServerMediaSubsession.cpp               \liveMedia/BasicUDPSink.cpp                                     \liveMedia/MP3AudioMatroskaFileServerMediaSubsession.cpp        \liveMedia/MPEG2TransportStreamFramer.cpp                       \liveMedia/uLawAudioFilter.cpp                                  \liveMedia/RTSPServer.cpp                                       \liveMedia/DVVideoFileServerMediaSubsession.cpp                 \liveMedia/H263plusVideoRTPSink.cpp                             \liveMedia/H263plusVideoFileServerMediaSubsession.cpp           \liveMedia/H265VideoStreamFramer.cpp                            \liveMedia/JPEGVideoRTPSink.cpp                                 \liveMedia/WAVAudioFileServerMediaSubsession.cpp                \liveMedia/ByteStreamMultiFileSource.cpp                        \liveMedia/TheoraVideoRTPSink.cpp                               \liveMedia/ByteStreamMemoryBufferSource.cpp                     \liveMedia/ourMD5.cpp                                           \liveMedia/MPEG2TransportFileServerMediaSubsession.cpp          \liveMedia/MPEG2TransportStreamMultiplexor.cpp                  \liveMedia/MPEGVideoStreamParser.cpp                            \liveMedia/MPEG1or2VideoStreamDiscreteFramer.cpp                \liveMedia/VP8VideoRTPSource.cpp                                \liveMedia/H264or5VideoStreamFramer.cpp                         \liveMedia/AMRAudioRTPSink.cpp                                  \liveMedia/RTPInterface.cpp                                     \liveMedia/TheoraVideoRTPSource.cpp                             \liveMedia/Locale.cpp                                           \liveMedia/MPEGVideoStreamFramer.cpp                            \liveMedia/QCELPAudioRTPSource.cpp                              \liveMedia/ADTSAudioFileSource.cpp                              \liveMedia/MediaSource.cpp                                      \liveMedia/AC3AudioRTPSource.cpp                                \liveMedia/WAVAudioFileSource.cpp                               \liveMedia/MPEG4LATMAudioRTPSink.cpp                            \liveMedia/MPEG1or2AudioRTPSource.cpp                           \liveMedia/GSMAudioRTPSink.cpp                                  \liveMedia/DigestAuthentication.cpp                             \liveMedia/RTSPCommon.cpp                                       \liveMedia/MP3ADU.cpp                                           \liveMedia/Media.cpp                                            \liveMedia/MPEG4VideoFileServerMediaSubsession.cpp              \liveMedia/H264or5VideoRTPSink.cpp                              \liveMedia/MPEG4LATMAudioRTPSource.cpp                          \liveMedia/H264VideoRTPSink.cpp                                 \liveMedia/MPEG1or2AudioStreamFramer.cpp                        \liveMedia/AC3AudioRTPSink.cpp                                  \liveMedia/H264VideoStreamFramer.cpp                            \liveMedia/H265VideoFileSink.cpp                                \liveMedia/T140TextRTPSink.cpp                                  \liveMedia/OggFileServerMediaSubsession.cpp                     \liveMedia/MP3Internals.cpp                                     \liveMedia/MPEG1or2FileServerDemux.cpp                          \liveMedia/RTPSink.cpp                                          \liveMedia/AC3AudioFileServerMediaSubsession.cpp                \liveMedia/H264VideoRTPSource.cpp                               \liveMedia/ProxyServerMediaSession.cpp                          \liveMedia/SimpleRTPSink.cpp                                    \liveMedia/MultiFramedRTPSink.cpp                               \liveMedia/H263plusVideoRTPSource.cpp                           \liveMedia/RTCP.cpp                                             \liveMedia/JPEGVideoRTPSource.cpp                               \liveMedia/AMRAudioFileSource.cpp                               \liveMedia/MultiFramedRTPSource.cpp                             \liveMedia/AVIFileSink.cpp                                      \liveMedia/TextRTPSink.cpp                                      \liveMedia/AMRAudioSource.cpp                                   \liveMedia/MatroskaDemuxedTrack.cpp                             \liveMedia/MP3ADUdescriptor.cpp                                 \liveMedia/QuickTimeGenericRTPSource.cpp                        \liveMedia/ServerMediaSession.cpp                               \liveMedia/FramedSource.cpp                                     \liveMedia/MP3AudioFileServerMediaSubsession.cpp                \liveMedia/SimpleRTPSource.cpp                                  \liveMedia/OggDemuxedTrack.cpp                                  \liveMedia/OggFileServerDemux.cpp                               \liveMedia/MP3StreamState.cpp                                   \liveMedia/MPEG1or2VideoStreamFramer.cpp                        \liveMedia/MPEG2TransportStreamFromPESSource.cpp                \liveMedia/PassiveServerMediaSubsession.cpp                     \liveMedia/DeviceSource.cpp                                     \liveMedia/RTSPServerSupportingHTTPStreaming.cpp                \liveMedia/MediaSession.cpp                                     \liveMedia/MPEG2TransportUDPServerMediaSubsession.cpp           \liveMedia/DVVideoRTPSource.cpp                                 \liveMedia/SIPClient.cpp                                        \BasicUsageEnvironment/DelayQueue.cpp                           \BasicUsageEnvironment/BasicTaskScheduler.cpp                   \BasicUsageEnvironment/BasicUsageEnvironment0.cpp               \BasicUsageEnvironment/BasicHashTable.cpp                       \BasicUsageEnvironment/BasicUsageEnvironment.cpp                \BasicUsageEnvironment/BasicTaskScheduler0.cpp                  \UsageEnvironment/HashTable.cpp                                 \UsageEnvironment/strDup.cpp                                    \UsageEnvironment/UsageEnvironment.cpp                           include $(BUILD_SHARED_LIBRARY)


0 0
原创粉丝点击