Sip call with G729 support - native

I want to support G729 codec for my Sip client(Gingerbread native sip Api), but i have no idea how to do it.
Please provide some links or tutorial to do so.

You can't do that easily. You can't configure the codec you use with the native stack. Also, the native stack supports only a handful of codecs and G.729 isn't one of them.
You may look for another Sip stack with more features like http://www.pjsip.org/.

Related

Using DJI Windows SDK to display/decode a video streamed over UDP/RDP

I am wondering if anybody knows if it's possible to use the DJI Windows SDK to decode a video in real-time (render video frames as the video is being retrieved frame-by-frame)?
I don't see anything relevant in the documentation or API reference sections from DJI Windows SDK.
At this point i'll have to dig into the Samples and see if there is anything useful there. Otherwise the online documentation seems rather useless.
Here is the DJI Windows SDK documention.
I agree with you that DJI documentation sucks. But again what you are asking is unclear.
use the DJI Windows SDK to decode a video. So u got an-online video and you want to decoded it. Why not use ffmepg and ffplay???? We use that for DJI tello and IP camera all the time.
If you want to grab the feed from the drone, there are DJI github sample that shows you how. https://github.com/DJI-Windows-SDK-Tutorials/Windows-FPVDemo/tree/master/DJIWSDKFPVDemo
So not 100% sure whats your use case.

WebRTC -- can getUserMedia use local stream?

I want to let WebRTC encoded and play h264(NAL) stream(local file).
In the WebRTC tutorial, getUserMedia is use for get local camera connecting to the system, I don`t know if the getUserMedia function support
capture the local stream file like h264 stream.
If it doesn't work that way, may be I should modify WebRTC source code(I'm studying it).
Here is the question, If i change WebRTC code, how can i integration the new code into browser? Made it a plugin?
Firefox supports an extension to the <video> element that you can use to do this.
First, set the source of a video element:
v1.src = "file:///...";
Then you can call the (currently prefixed) mozCaptureStream or mozCaptureStreamUntilEnded function to get a MediaStream.
stream = v1.mozCaptureStream();
The proposed specification.
Note however that you need to ensure that the file is same origin with respect to the page. The same origin rules for file:/// are probably going to cause issues. Otherwise your MediaStream isn't going to be accessible to you. One way to ensure that is not to set the location directly, but to load the file using an <input type="file"> element.
As noted in other answers, Firefox currently only supports the baseline profile of H.264.
First, you are right getusermedia will not work for you. However, there are a couple of options.
Hack a stream together using RTCDataChannel. Breaking up the media stream and delivering each packet and then handling it on the client side.
Take a look at this demo for precorded media streams. I do not believe that H264 is addressed but it could help you on your way(probably for Firefox only)
Use some sort of webrtc breaker/endpoint that is native to stream the file. I know specifically that others(including myself) have streamed H264 to Firefox through the Janus-Gateway
Couple of asides:
Firefox only supports Baseline profiles in streaming h264 for a webrtc peerconnection
Chrome does not support h264 for webrtc at all
Are you trying to have getUserMedia return a h.264 encoded stream?
In which case, today it will only be possible with Firefox today, under some specific environment (cisco 264 plugin installed) and only for the base profile.
Chrome promised in november to add this capacity, but there is no timeline that I know of Expect at least Q2 2015.
Using our (temasys) commercial plugin you will soon be able to do that in IE and Safari.
Those are the only options on client side I can think of. On server side you can use whatever you want to transcode, including janus, kurento, powermedia, licode/lynkia, ....
Note: using other means like Datachannel or WebSocket are ok to transfer files, but would greatly reduce the user experience as you would not have all the added recovery (and security) mechanisms included in SRTP, DTLS, and would also not have specific mistreated media enhancements that are in webRTC like jitter, buffers, netQ, ect ...

Does Titanium support XMPP?

The question says it all, I know there are xmpp projects written in node.js and JS, but from what I've seen it looks like Titanium only has a chat substitute with TCP.
Not out of the box. But you can wrap an existing XMPP / Jabber client like ChatSecure (which is free an open-source) in a Titanium module and use it.

How to get started with WebRTC?

I am a beginner with WebRTC, and I would like to know if there is anything I need to import to use the JavaScript APIs.
No, you do not need to import any library. webRTC is included in Chrome and Firefox (and for Chrome beta and Firefox on Android).
Your error may be because you need to prefix it with webkit like this:
peer = new webkitRTCPeerConnection(...)
You don't need to include anything to use WebRTC's APIs, but as a practical matter, you will probably want to use an adapter to normalize API naming differences between browser vendors (e.g. webkitGetUserMedia/mozGetuserMedia).
Google maintains a nice adapter that does this, and handles a few gotcha errors you might run into if using them directly.
Just include the following script in your page.
https://code.google.com/p/webrtc/source/browse/trunk/samples/js/base/adapter.js

Does Titanium have method for "didReceiveRemoteNotification" of Objective-C?

I would like to receive remote push notification when the app is on the foreground. I think I can use "didReceiveRemoteNotification" in Objective-C, but how about in Titanium? I've been searching solutions but can't find anything. Does anybody help me out?
Titanium currently only supports local notifications (by default) I believe. You might want to take a look at AppCelerator as a solution.
Sorry, i was wrong last time. It's very hard to find but Titanium supports a way of interacting with PushNotifications.
Please take a look at Ti.Network.registerForPushNotifications. It provides a callback that is executed when you receive a Push Notification.
The other posted solutions below may provide a better integration for titanium so it's up to you what you want to use. But this should answer your original question.
Unfortunately Titanium only supports local notifications on iOS. If
you want to support remote notifications you can use
Urban Airship
ACS (Appcelerator Cloud Services) or
you write your own module that provides "didReceiveRemoteNotifcation" as an app event to your app
As far as i know you can only listen on local notifications by
default but you can try this method if it reacts on remote
notifications..