Changeset 88


Ignore:
Timestamp:
08/22/10 19:05:34 (18 months ago)
Author:
shiretu
Message:

-- android related stuff

Location:
trunk
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/builders/androidapplestreaming/jni/Android.mk

    r56 r88  
    2424MODULES_DEFINES += -DHAS_PROTOCOL_TS 
    2525MODULES_DEFINES += -DHAS_PROTOCOL_VAR 
    26 #MODULES_DEFINES += -DHAS_PROTOCOL_RTMP 
     26MODULES_DEFINES += -DHAS_PROTOCOL_RTMP 
    2727#MODULES_DEFINES += -DHAS_PROTOCOL_LIVEFLV 
    2828#MODULES_DEFINES += -DHAS_MEDIA_MP4 
  • trunk/sources/androidapplestreaming/src/api.cpp

    r87 r88  
    7676        configuration[CONF_APPLICATION_ALIASES].PushToArray("asc"); 
    7777        configuration[CONF_APPLICATION_DEFAULT] = (bool)true; 
    78         configuration[CONF_APPLICATION_VALIDATEHANDSHAKE] = (bool)false; 
     78        configuration[CONF_APPLICATION_VALIDATEHANDSHAKE] = (bool)true; 
    7979        configuration[CONF_APPLICATION_KEYFRAMESEEK] = (bool)true; 
    8080        configuration[CONF_APPLICATION_CLIENTSIDEBUFFER] = (int32_t) 15; 
     
    8282        configuration[CONF_APPLICATION_MEDIAFOLDER] = "./"; 
    8383        configuration[CONF_APPLICATION_GENERATE_META_FILES] = (bool)false; 
     84        configuration["rtspHost"] = format("rtsp://127.0.0.1:%d/", port); 
    8485        AppleStreamingClientApplication *pApp = new AppleStreamingClientApplication( 
    8586                        configuration); 
     
    106107                ASSERT("Invalid protocol chain: %s", CONF_PROTOCOL_INBOUND_RTSP); 
    107108        } 
    108         TCPAcceptor *pAcceptor = new TCPAcceptor(ip, port, acceptorConfig, chain); 
     109        TCPAcceptor *pAcceptor = new TCPAcceptor(ip, 
     110                        (uint16_t) acceptorConfig[CONF_PORT], acceptorConfig, chain); 
    109111        if (!pAcceptor->StartAccept(pApp)) { 
    110112                ASSERT("Unable to fire up acceptor"); 
     
    118120                ASSERT("Invalid protocol chain: %s", CONF_PROTOCOL_INBOUND_BIN_VARIANT); 
    119121        } 
    120         pAcceptor = new TCPAcceptor(ip, port + 1, acceptorConfig, chain); 
     122        pAcceptor = new TCPAcceptor(ip, (uint16_t) acceptorConfig[CONF_PORT], 
     123                        acceptorConfig, chain); 
    121124        if (!pAcceptor->StartAccept(pApp)) { 
    122125                ASSERT("Unable to fire up acceptor"); 
     
    130133                ASSERT("Invalid protocol chain: %s", CONF_PROTOCOL_INBOUND_XML_VARIANT); 
    131134        } 
    132         pAcceptor = new TCPAcceptor(ip, port + 2, acceptorConfig, chain); 
     135        pAcceptor = new TCPAcceptor(ip, (uint16_t) acceptorConfig[CONF_PORT], 
     136                        acceptorConfig, chain); 
     137        if (!pAcceptor->StartAccept(pApp)) { 
     138                ASSERT("Unable to fire up acceptor"); 
     139        } 
     140 
     141        //9. Create the RTMP acceptor 
     142        acceptorConfig[CONF_PORT] = (uint16_t) (1935); 
     143        acceptorConfig[CONF_PROTOCOL] = CONF_PROTOCOL_INBOUND_RTMP; 
     144        chain = ProtocolFactoryManager::ResolveProtocolChain(CONF_PROTOCOL_INBOUND_RTMP); 
     145        if (chain.size() == 0) { 
     146                ASSERT("Invalid protocol chain: %s", CONF_PROTOCOL_INBOUND_RTMP); 
     147        } 
     148        pAcceptor = new TCPAcceptor(ip, (uint16_t) acceptorConfig[CONF_PORT], 
     149                        acceptorConfig, chain); 
    133150        if (!pAcceptor->StartAccept(pApp)) { 
    134151                ASSERT("Unable to fire up acceptor"); 
  • trunk/sources/androidapplestreaming/src/main.cpp

    r87 r88  
    5050#ifdef ANDROID 
    5151        CallBackInfo ci; 
    52         EnvRun("0.0.0.0", 554, ci); 
     52        EnvRun("0.0.0.0", 5544, ci); 
    5353#else 
    54         EnvRun("0.0.0.0", 554); 
     54        EnvRun("0.0.0.0", 5544); 
    5555#endif /* ANDROID */ 
    5656        return NULL; 
     
    8383} 
    8484 
    85 //#define MY_URL "http://mediadownloads.mlb.com/mlbam/2010/06/29/9505835_m3u8/128/dropf_9505835_100m_128K.m3u8" 
    86 //#define MY_SESSION_ID "" 
    87 //#define MY_KEY "" 
    88  
     85#define MY_URL "http://mediadownloads.mlb.com/mlbam/2010/06/29/9505835_m3u8/128/dropf_9505835_100m_128K.m3u8" 
     86#define MY_SESSION_ID "" 
     87#define MY_KEY "" 
    8988 
    9089//#define MY_URL "http://mlbvod-akc.mlb.com/mlbam/2010/04/08/MLB_GAME_VIDEO_LANPIT_HOME_20100408/master_wired.m3u8" 
     
    9291//#define MY_KEY "ugkuOk9Qy4HNS5uRxQcQXHfLuAI=" 
    9392 
    94 #define MY_URL "http://mlbsegqa.mlb.com/mlbam/2010/08/17/MLB_GAME_VIDEO_DETNYA_HOME_20100817/master_mobile.m3u8" 
    95 #define MY_SESSION_ID "playback=HTTP_CLOUD_WIRED&contentId=7320085&appAccountName=mlb&eventId=14-263849-2010-04-08&ipid=11627706&sessionKey=vlPZfM8Rj1TaGDmMrtDSQh1MIWc%3D" 
    96 #define MY_KEY "Q8TZUMmOkyVgVSMotTCRMQ==" 
     93//#define MY_URL "http://mlbsegqa.mlb.com/mlbam/2010/08/17/MLB_GAME_VIDEO_DETNYA_HOME_20100817/master_mobile.m3u8" 
     94//#define MY_SESSION_ID "playback=HTTP_CLOUD_WIRED&contentId=7320085&appAccountName=mlb&eventId=14-263849-2010-04-08&ipid=11627706&sessionKey=vlPZfM8Rj1TaGDmMrtDSQh1MIWc%3D" 
     95//#define MY_KEY "Q8TZUMmOkyVgVSMotTCRMQ==" 
     96 
     97//#define MY_URL "http://mlbsegqa.mlb.com/mlbam/2010/08/17/MLB_GAME_VIDEO_DETNYA_HOME_20100817/master_mobile.m3u8" 
     98//#define MY_SESSION_ID "playback=HTTP_CLOUD_MOBILE&contentId=10111969&appAccountName=mlb&eventId=14-265611-2010-08-18&ipid=23272205&sessionKey=JfPr0nOJ%2BfVzHc%2BfNV9umf9p6Yw%3D&country=us&postalCode=10292&platform=ANDROID" 
     99//#define MY_KEY "7pG+lxgC/bRQ44iXCb0ydoVDCJA=" 
     100 
     101//#define MY_URL "http://mlbsegqa.mlb.com/mlbam/2010/08/17/MLB_GAME_VIDEO_DETNYA_HOME_20100817/master_mobile.m3u8" 
     102//#define MY_KEY "7pG+lxgC/bRQ44iXCb0ydoVDCJA=" 
     103//#define MY_SESSION_ID "playback=HTTP_CLOUD_MOBILE&contentId=10111969&appAccountName=mlb&eventId=14-265611-2010-08-18&ipid=23272205&sessionKey=JfPr0nOJ%2BfVzHc%2BfNV9umf9p6Yw%3D&country=us&postalCode=10292&platform=ANDROID" 
     104 
     105//#define MY_URL "http://mlbsegqa.mlb.com/mlbam/2010/08/17/MLB_GAME_VIDEO_DETNYA_HOME_20100817/master_mobile.m3u8" 
     106//#define MY_KEY "fzi/ekWlN/nJY7M7zyODvnWvwCk=" 
     107//#define MY_SESSION_ID "playback=HTTP_CLOUD_MOBILE&contentId=10111969&appAccountName=mlb&eventId=14-265611-2010-08-18&ipid=23272205&sessionKey=lCzgmwnNPsLrnlcqm8bZ8Fk6GEM%3D&country=us&postalCode=10292&platform=ANDROID" 
     108 
     109 
     110 
    97111 
    98112//#define CONDENSED_CONN_STRING "base64:aHR0cDovL21sYnZvZC1ha2MubWxiLmNvbS9tbGJhbS8yMDEwLzA0LzA4L01MQl9HQU1FX1ZJREVPX0xBTlBJVF9IT01FXzIwMTAwNDA4L21hc3Rlcl93aXJlZC5tM3U4fHlNQmVFcEl6OEJEaUFYV0k0dUdIUm1UaHdIRT18cGxheWJhY2s9SFRUUF9DTE9VRF9XSVJFRCZjb250ZW50SWQ9NzMyMDA4NSZhcHBBY2NvdW50TmFtZT1tbGImZXZlbnRJZD0xNC0yNjM4NDktMjAxMC0wNC0wOCZpcGlkPTExNjI3NzA2JnNlc3Npb25LZXk9cUNveGRIaUlOY3FDbHlEcEZoU2dma3dJSWc0JTNE" 
  • trunk/sources/applications/applestreamingclient/include/clientcontext.h

    r85 r88  
    6161        uint32_t _currentItemIndex; 
    6262        uint32_t _optimalBw; 
     63        uint32_t _lastUsedBw; 
    6364        SpeedComputer *_pSpeedComputer; 
    6465        uint32_t _scheduleTimerId; 
     
    6970        StreamsManager *_pStreamsManager; 
    7071        double _lastWallClock; 
    71         double _lastStreamClock; 
    7272private: 
    7373        ClientContext(); 
  • trunk/sources/applications/applestreamingclient/include/eventsink/baseeventsink.h

    r58 r88  
    2727#define EVENT_SYNC_VARIANT      MAKE_TAG3('V','A','R') 
    2828 
     29class ClientContext; 
     30 
    2931class BaseEventSink { 
    3032private: 
    3133        uint64_t _type; 
     34        uint32_t _contextId; 
    3235public: 
    33         BaseEventSink(uint64_t type); 
     36        BaseEventSink(uint64_t type, uint32_t contextId); 
    3437        virtual ~BaseEventSink(); 
    3538 
    3639        uint64_t GetType(); 
    3740 
    38         static BaseEventSink * GetInstance(uint64_t type); 
     41        static BaseEventSink * GetInstance(uint64_t type, uint32_t contextId); 
    3942 
    4043        virtual bool SignalStreamRegistered(string streamName) = 0; 
    4144        virtual bool SignalStreamUnRegistered(string streamName) = 0; 
     45        virtual bool SignalUpgradeBandwidth(uint32_t oldBw, uint32_t newBw) = 0; 
     46        virtual bool SignalDowngradeBandwidth(uint32_t oldBw, uint32_t newBw) = 0; 
     47protected: 
     48        ClientContext *GetContext(); 
    4249}; 
    4350 
  • trunk/sources/applications/applestreamingclient/include/eventsink/rtmpeventsink.h

    r47 r88  
    3030        string _streamName; 
    3131public: 
    32         RTMPEventSink(); 
     32        RTMPEventSink(uint32_t contextId); 
    3333        virtual ~RTMPEventSink(); 
    3434 
     
    3737        virtual bool SignalStreamRegistered(string streamName); 
    3838        virtual bool SignalStreamUnRegistered(string streamName); 
     39        virtual bool SignalUpgradeBandwidth(uint32_t oldBw, uint32_t newBw); 
     40        virtual bool SignalDowngradeBandwidth(uint32_t oldBw, uint32_t newBw); 
    3941}; 
    4042 
  • trunk/sources/applications/applestreamingclient/include/eventsink/varianteventsink.h

    r56 r88  
    2828private: 
    2929        map<string, string> _streamNames; 
     30        string _rtspHost; 
    3031public: 
    31         VariantEventSink(); 
     32        VariantEventSink(uint32_t contextId); 
    3233        virtual ~VariantEventSink(); 
    3334 
    3435        virtual bool SignalStreamRegistered(string streamName); 
    3536        virtual bool SignalStreamUnRegistered(string streamName); 
    36  
     37        virtual bool SignalUpgradeBandwidth(uint32_t oldBw, uint32_t newBw); 
     38        virtual bool SignalDowngradeBandwidth(uint32_t oldBw, uint32_t newBw); 
    3739        vector<string> GetStreamNames(); 
     40private: 
     41#ifdef ANDROID 
     42        bool CallJava(Variant &message); 
     43        string GetRTSPHost(); 
     44#endif 
    3845}; 
    3946 
  • trunk/sources/applications/applestreamingclient/src/clientcontext.cpp

    r87 r88  
    4444        _currentItemIndex = 0; 
    4545        _optimalBw = 0; 
     46        _lastUsedBw = 0; 
    4647        _pSpeedComputer = NULL; 
    4748        _tsId = 0; 
     
    5253        _pStreamsManager = NULL; 
    5354        _lastWallClock = 0; 
    54         _lastStreamClock = 0; 
    5555        _avData.EnsureSize(_maxAVBufferSize * 3); 
    5656        INFO("Context created: %d (%p)", _id, this); 
     
    103103                pResult = new ClientContext(); 
    104104                pResult->_applicationId = applicationId; 
    105                 pResult->_pEventSink = BaseEventSink::GetInstance(masterProtocolType); 
     105                pResult->_pEventSink = BaseEventSink::GetInstance(masterProtocolType, 
     106                                pResult->_id); 
    106107                contextId = pResult->_id; 
    107108                _contexts[pResult->_id] = pResult; 
     
    579580        customParameters["itemUri"] = itemUri; 
    580581        customParameters["bw"] = bw; 
     582        //replace(keyUri, "http://www.mlb.com", "https://qa.mlb.com"); 
    581583        return FetchURI(keyUri, "key", customParameters); 
    582584} 
    583585 
    584586bool ClientContext::FetchTS(string uri, uint32_t bw, string key, uint64_t iv) { 
     587        //1. Prepare custom parameters 
    585588        Variant customParameters; 
    586589        if (key == "") { 
     
    602605        customParameters["iv"] = iv; 
    603606        customParameters["bw"] = bw; 
     607 
     608        //2. setup last bw used 
     609        if (_lastUsedBw == 0) 
     610                _lastUsedBw = bw; 
     611 
     612        if (_lastUsedBw != bw) { 
     613                if (_pEventSink->GetType() == EVENT_SYNC_VARIANT) { 
     614                        _avData.IgnoreAll(); 
     615                } 
     616                if (_lastUsedBw < bw) { 
     617                        _pEventSink->SignalUpgradeBandwidth(_lastUsedBw, bw); 
     618                } else { 
     619                        _pEventSink->SignalDowngradeBandwidth(_lastUsedBw, bw); 
     620                } 
     621        } 
     622 
     623        _lastUsedBw = bw; 
     624 
     625 
    604626        return FetchURI(uri, "ts", customParameters); 
    605627} 
  • trunk/sources/applications/applestreamingclient/src/eventsink/baseeventsink.cpp

    r31 r88  
    2222#include "protocols/protocoltypes.h" 
    2323#include "eventsink/varianteventsink.h" 
     24#include "clientcontext.h" 
    2425 
    25 BaseEventSink::BaseEventSink(uint64_t type) { 
     26BaseEventSink::BaseEventSink(uint64_t type, uint32_t contextId) { 
    2627        _type = type; 
     28        _contextId = contextId; 
    2729} 
    2830 
     
    3436} 
    3537 
    36 BaseEventSink * BaseEventSink::GetInstance(uint64_t type) { 
     38BaseEventSink * BaseEventSink::GetInstance(uint64_t type, uint32_t contextId) { 
    3739        switch (type) { 
    3840#ifdef HAS_PROTOCOL_RTMP 
    3941                case PT_INBOUND_RTMP: 
    4042                { 
    41                         return new RTMPEventSink(); 
     43                        return new RTMPEventSink(contextId); 
    4244                } 
    4345#endif /* HAS_PROTOCOL_RTMP */ 
     
    4648                case PT_BIN_VAR: 
    4749                { 
    48                         return new VariantEventSink(); 
     50                        return new VariantEventSink(contextId); 
    4951                } 
    5052#endif /* HAS_PROTOCOL_VAR */ 
     
    5658        } 
    5759} 
     60 
     61ClientContext *BaseEventSink::GetContext() { 
     62        return ClientContext::GetContext(_contextId, 0, 0); 
     63} 
  • trunk/sources/applications/applestreamingclient/src/eventsink/rtmpeventsink.cpp

    r47 r88  
    2424#include "protocols/rtmp/messagefactories/messagefactories.h" 
    2525 
    26 RTMPEventSink::RTMPEventSink() 
    27 : BaseEventSink(EVENT_SYNC_RTMP) { 
     26RTMPEventSink::RTMPEventSink(uint32_t contextId) 
     27: BaseEventSink(EVENT_SYNC_RTMP, contextId) { 
    2828        _protocolId = 0; 
    2929        _streamName = ""; 
     
    7474        return true; 
    7575} 
     76 
     77bool RTMPEventSink::SignalUpgradeBandwidth(uint32_t oldBw, uint32_t newBw) { 
     78        return true; 
     79} 
     80 
     81bool RTMPEventSink::SignalDowngradeBandwidth(uint32_t oldBw, uint32_t newBw) { 
     82        return true; 
     83} 
     84 
    7685#endif /* HAS_PROTOCOL_RTMP */ 
  • trunk/sources/applications/applestreamingclient/src/eventsink/varianteventsink.cpp

    r31 r88  
    2121#ifdef HAS_PROTOCOL_VAR 
    2222#include "eventsink/varianteventsink.h" 
     23#include "clientcontext.h" 
     24#include "applestreamingclientapplication.h" 
     25#include "jnihelpers.h" 
    2326 
    24 VariantEventSink::VariantEventSink() 
    25 : BaseEventSink(EVENT_SYNC_VARIANT) { 
     27VariantEventSink::VariantEventSink(uint32_t contextId) 
     28: BaseEventSink(EVENT_SYNC_VARIANT, contextId) { 
    2629} 
    2730 
     
    3033 
    3134bool VariantEventSink::SignalStreamRegistered(string streamName) { 
     35        if (MAP_HAS1(_streamNames, streamName)) 
     36                return true; 
    3237        _streamNames[streamName] = streamName; 
     38#ifdef ANDROID 
     39        Variant message; 
     40        message["type"] = "streamNameRegistered"; 
     41        message["streamName"] = GetRTSPHost() + streamName; 
     42        return CallJava(message); 
     43#else 
    3344        return true; 
     45#endif 
    3446} 
    3547 
    3648bool VariantEventSink::SignalStreamUnRegistered(string streamName) { 
    3749        _streamNames.erase(streamName); 
     50#ifdef ANDROID 
     51        Variant message; 
     52        message["type"] = "streamNameUnRegistered"; 
     53        message["streamName"] = GetRTSPHost() + streamName; 
     54        return CallJava(message); 
     55#else 
    3856        return true; 
     57#endif 
     58} 
     59 
     60bool VariantEventSink::SignalUpgradeBandwidth(uint32_t oldBw, uint32_t newBw) { 
     61#ifdef ANDROID 
     62        Variant message; 
     63        message["type"] = "upgradeBandwidth"; 
     64        message["oldBw"] = (uint32_t) oldBw; 
     65        message["newBw"] = (uint32_t) newBw; 
     66        return CallJava(message); 
     67#else 
     68        return true; 
     69#endif 
     70} 
     71 
     72bool VariantEventSink::SignalDowngradeBandwidth(uint32_t oldBw, uint32_t newBw) { 
     73#ifdef ANDROID 
     74        Variant message; 
     75        message["type"] = "downgradeBandwidth"; 
     76        message["oldBw"] = (uint32_t) oldBw; 
     77        message["newBw"] = (uint32_t) newBw; 
     78        return CallJava(message); 
     79#else 
     80        return true; 
     81#endif 
    3982} 
    4083 
     
    4992} 
    5093 
     94#ifdef ANDROID 
     95 
     96bool VariantEventSink::CallJava(Variant& message) { 
     97        ClientContext *pContext = GetContext(); 
     98        if (pContext == NULL) { 
     99                FATAL("Unable to get context"); 
     100                return false; 
     101        } 
     102        AppleStreamingClientApplication *pApp = pContext->GetApplication(); 
     103        if (pApp == NULL) { 
     104                FATAL("Unable to get the application"); 
     105                return false; 
     106        } 
     107        CallBackInfo &ci = pApp->GetJavaCallBackInterface(); 
     108        FINEST("CallJava message:\n%s", STR(message.ToString())); 
     109        return ::CallJava(ci, message); 
     110} 
     111 
     112string VariantEventSink::GetRTSPHost() { 
     113        if (_rtspHost != "") 
     114                return _rtspHost; 
     115        ClientContext *pContext = GetContext(); 
     116        if (pContext == NULL) { 
     117                FATAL("Unable to get context"); 
     118                return false; 
     119        } 
     120        AppleStreamingClientApplication *pApp = pContext->GetApplication(); 
     121        _rtspHost = (string) pApp->GetConfiguration()["rtspHost"]; 
     122        return _rtspHost; 
     123} 
     124#endif 
     125 
    51126#endif /* HAS_PROTOCOL_VAR */ 
    52127 
  • trunk/sources/applications/applestreamingclient/src/jnihelpers.cpp

    r85 r88  
    131131 
    132132bool CallJava(CallBackInfo &ci, Variant &parameters) { 
     133        if (ci.pEnv == NULL) { 
     134                WARN("No pEnv"); 
     135                return true; 
     136        } 
     137        if (ci.pInterface == NULL) { 
     138                WARN("No pInterface"); 
     139                return true; 
     140        } 
    133141        ci.pEnv->PushLocalFrame(128); 
    134142        if (ci.method == NULL) { 
  • trunk/sources/applications/flvplayback/flex/src/com/rtmpd/flvplayback.mxml

    r2 r88  
    161161                        <mx:TextInput id="streamName" backgroundColor="#404040" width="100%" text="{_availableFlvs[dgFlvs.selectedIndex].flvName}"/> 
    162162                        <mx:Label text="Connecting string"/> 
    163                         <mx:TextInput id="connectingString" text="rtmp://localhost/flvplayback" backgroundColor="#404040" width="100%"/> 
     163                        <mx:TextInput id="connectingString" text="rtmp://10.0.2.1/flvplayback" backgroundColor="#404040" width="100%"/> 
    164164                        <mx:HBox width="100%"> 
    165165                                <mx:Button width="100%" label="{IsConnected?'Disconnect':'Connect'}" click="ConnectDisconnect();"/> 
  • trunk/sources/thelib/src/protocols/rtp/connectivity/outboundconnectivity.cpp

    r87 r88  
    403403 
    404404        //6. RTP 
     405        //      double rtpDouble; 
     406        //      GETCLOCKS(rtpDouble); 
     407        //      rtpDouble = (rtpDouble / CLOCKS_PER_SEC) * rate; 
     408        //      uint32_t rtp = (uint32_t) rtpDouble; 
     409        //      put_htonl(pDest + 16, rtp); 
    405410        memcpy(pDest + 16, pSrc + 4, 4); 
    406411 
  • trunk/sources/thelib/src/protocols/rtp/streaming/outnetrtpudph264stream.cpp

    r56 r88  
    185185                totalLength -= 9; 
    186186        } else { 
    187                 if ((NALU_TYPE(pData[0]) != NALU_TYPE_SPS) 
    188                                 && (NALU_TYPE(pData[0]) != NALU_TYPE_PPS) 
    189                                 && (NALU_TYPE(pData[0]) != NALU_TYPE_SLICE) 
     187                if ( 
     188                                //                              (NALU_TYPE(pData[0]) != NALU_TYPE_SPS) 
     189                                //                              && (NALU_TYPE(pData[0]) != NALU_TYPE_PPS) 
     190                                (NALU_TYPE(pData[0]) != NALU_TYPE_SLICE) 
    190191                                && (NALU_TYPE(pData[0]) != NALU_TYPE_IDR)) { 
    191192                        //FINEST("ignoring absoluteTimestamp: %.2f; %s", absoluteTimestamp, STR(NALUToString(pData[0]))); 
     
    194195        } 
    195196 
    196         if (processedLength == 0 && NALU_TYPE(pData[0]) == NALU_TYPE_IDR) { 
    197                 put_htons(_pSPS + 2, _videoCounter); 
    198                 _videoCounter++; 
    199                 put_htonl(_pSPS + 4, (uint32_t) (absoluteTimestamp * 90.0)); 
    200                 put_htons(_pPPS + 2, _videoCounter); 
    201                 _videoCounter++; 
    202                 put_htonl(_pPPS + 4, (uint32_t) (absoluteTimestamp * 90.0)); 
    203  
    204                 _pConnectivity->FeedVideoData(_pSPS, _SPSLen); 
    205                 _pConnectivity->FeedVideoData(_pPPS, _PPSLen); 
    206         } 
     197        //      if (processedLength == 0 && NALU_TYPE(pData[0]) == NALU_TYPE_IDR) { 
     198        //              put_htons(_pSPS + 2, _videoCounter); 
     199        //              _videoCounter++; 
     200        //              put_htonl(_pSPS + 4, (uint32_t) (absoluteTimestamp * 90.0)); 
     201        //              put_htons(_pPPS + 2, _videoCounter); 
     202        //              _videoCounter++; 
     203        //              put_htonl(_pPPS + 4, (uint32_t) (absoluteTimestamp * 90.0)); 
     204        // 
     205        //              _pConnectivity->FeedVideoData(_pSPS, _SPSLen); 
     206        //              _pConnectivity->FeedVideoData(_pPPS, _PPSLen); 
     207        //      } 
    207208 
    208209        uint32_t sentAmount = 0; 
Note: See TracChangeset for help on using the changeset viewer.