summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/rtsp
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Fix for crash if no content in DESCRIBE responseXuefei Chen2013-03-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If DESCRIBE response is received with status 200 but no content, MyHandler will still set content data for session description parsing. This will cause NULL Pointer crash. This fix checks whether DESCRIBE response has content before parsing session description. Change-Id: I114ae6fd54ce804e61718f62618ca9008425a433
* | | | | Avoid rebuffering after RTSP pauseRoger Jönsson2013-02-061-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If pausing an RTSP stream, an RTSP Pause request is sent and then if the stream is immediately resumed again, an RTSP Play request will be sent to the server. But the new data after the pause will not be buffered until Sender Reports have arrived again on both channels. Meanwhile the player will resume playback and continue consuming the already existing buffer. This means that there is a risk that the buffer is emptied while waiting for sender reports. This commit simply adds a delay before the RTSP pause request is sent, allowing some additional RTSP buffering that might be needed when the stream is resumed again. Also, if the stream is resumed again before the RTSP pause request is sent, there is no need for any RTSP pause request, hence it is omitted. Change-Id: I928c8bfb5e99a6a146dcda4e51e528973ecbe065
* | | | | EOS fixes for RTSP streamsjoakim johansson2013-02-061-2/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix takes care of several near end of stream use cases: seek, pause and fake timestamps. Change-Id: I5f5fa881b1f619dfd5e1afd2af957082345c59eb
* | | | | RTSP: Parse session level control attribute from SDPMåns Zigher2013-02-061-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a=control: is present at session-level in the SDP response, RFC2326:C.1.1 defines the URL to be used for aggregate commands. This includes PLAY and PAUSE but not TEARDOWN. Change-Id: Iaa1dc2271d00df39dc83477a99fda6fbeb73c5b4
* | | | | Enable pause/resume for RTSP streamingRoger Jönsson2013-02-061-4/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a stream is paused, RTSP Pause is also sent to the server. Otherwise the buffering might continue until the memory runs out. When the stream is resumed, RTSP Play will be sent in order to resume the buffering. Change-Id: I5dc1761140827c532451638c3fd3f34271e5b9ab
* | | | | RTSP buffering improvementsRoger Jönsson2013-02-061-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added buffering start and end notifications for RTSP. MEDIA_INFO_BUFFERING_START is sent when buffering is started and MEDIA_INFO_BUFFERING_END is sent when the buffer has filled up. This patch also adds RTSP end of stream handling. EOS is signalled when BYE is received OR when detecting end of stream even if no actual EOS is received. Change-Id: I5cccb6845060ae6afd66d9f735b89da81476cd13
* | | | | RTSP now properly publishes its "seekable" flags after connectionAndreas Huber2013-02-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | has successfully completed and only then signals that preparation is complete. Change-Id: I1a60f718e673fe1462c69369c40eafbed6a14326
* | | | | Detect live streamsRoger Jönsson2013-02-051-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The information is used to decide on visibility of pause button and to handle the duration clock correctly. Change-Id: I286ac992fd171c7fc313e429326d38b6fc80e3fb
* | | | | Added HTTP support for SDP files.Oscar Rydhé2013-02-053-0/+208
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for playing SDP files from http links. Previously, SDP files only worked when started from rtsp links (rtsp://a.b.c/abc.sdp), but they are just as common in http links. patch provided by "Oscar Rydhé <oscar.rydhe@sonyericsson.com>" Change-Id: Ic73af3a9a002009dbe8b04c267a4621bf7fe2f46
* | | | Merge "Use default values when MPEG4 audio config parsing fails."James Dong2012-12-201-3/+10
|\ \ \ \
| * | | | Use default values when MPEG4 audio config parsing fails.Erik Rydgren2012-11-191-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MPEG4 audio packets may be multiplexed using the so called LATM (Low Overhead Audio Transport Multiplex) scheme. LATM parsing was recently introduced in Stagefright and it has caused issues in cases when the LATM config element cannot be parsed correctly. The main problem occurrs when the AudioSpecificConfig part of the config element contains more information than what is expected, causing the frameLengthType parameter to get the wrong value. This fix introduces default values of some config parameters that are used in case config parsing fails. Change-Id: I3cb35df76826f95ca0831dc08c2a1e7c6c2c586d
* | | | | Fix bad checks that causes crash when streaming H.263 content.Roger1 Jonsson2012-12-032-3/+28
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove checks that causes crash for rtsp streamed h.263 content with certain values in the RTP payload header: Remove zero check for the five reserved bits in the payload header. According to RFC 4629 these bits MUST be ignored by receivers. Remove zero-check for the VRC (Video Redundancy Coding) bit, skip packet instead. Remove zero-check for the PLEN bits (extra picture header), skip packet instead. Remove zero-check for the PEBIT bits (extra picture header), skip packet instead. Remove corresponding zero check for the four resreved bits in the AMR payload header. According to RFC 4867 these bits MUST be ignored by receivers. Change-Id: I7fc21d69a19d23da24f9267623c338d415ef1387
* | | | Unsolicited server responses cause RTSP streaming to crashLena Magnusson2012-11-291-0/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the set up of the RTSP stream contains an incorrect or otherwise problematic URL, some servers will send an unsolicited server response that contains a negative number in the sequence number (CSeq) field. This negative value is not returned from the function findPendingRequest(), so the check in notifyResponseListener() will not work. Instead there will be a crash when 0 is used as the index to find a matching request/response pair that doesn’t exist. The fix is to return the received sequence number also when it is an unsolicited server-client message. Change-Id: Iedaba8a63dece7b43bce007069baefbfd10970b8
* | | Crash in android::MyHandler::parsePlayResponsePatric Frederiksen2012-11-271-0/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | This fix handles problems with several asynchronous calls within streaming. This case is when the phone has sent a request to the server and while the response is being sent back by the server the request is aborted by the user. The fix is an if case that checks if we have aborted while waiting for a response from the server. If we have aborted we should ignore the late response instead of continuing. Change-Id: I1264bb992f6abcaee1f10a89479e08b54a95e3c2
* | ALooper::GetNowUs() now relies on systemTime instead of gettimeofday.Andreas Huber2012-10-011-9/+3
| | | | | | | | | | Change-Id: Ia31eb0940b02581327a8bf51af6df135f9ab6de3 related-to-bug: 7266324
* | Add support for mpeg2 transport streams to the RTSP implementation.Andreas Huber2012-08-315-0/+179
|/ | | | Change-Id: I409d7133a53a71e62523b1acc2b03302fcf824a5
* Fixed member access into incomplete type build errorTareq A. Siraj2012-08-221-0/+1
| | | | | | | | | Included the ARTPAssembler.h file to fix the 'member access into incomplete type "android::ARTPAssembler"' error reported by clang. Change-Id: I10cb1e38bf360858bb7ebdeae82ba1e64431f87d Author: Tareq A. Siraj <tareq.a.siraj@intel.com> Reviewed-by: Edwin Vane<edwin.vane@intel.com>
* h264 streaming: make profile-level-id optionalPatrik2 Carlsson2012-08-201-8/+13
| | | | | | | | profile-level-id is made optional according to rfc3984: "If no profile-level-id is present, the Baseline Profile without additional constraints at Level 1 MUST be implied." Change-Id: If868468a48917ceccb963b8ac15767583da29723
* Add NOTICE and MODULE_LICENSE_APACH2 to libs build under /frameworks/av/James Dong2012-06-132-0/+190
| | | | | Change-Id: I0a3af3e2abdedebd5934f3d941d01c32cfc75e26 related-to-bug: 6647465
* Prefix MPEG4-generic audio data with ADTS headersAndreas Huber2012-05-176-35/+128
| | | | | | | to work around limitations of the new AAC decoder. Change-Id: I4988c7c39fedb7d04eb1ae2ba2d618aa6cb14e77 related-to-bug: 6488547
* Changes to add support for H263-1999/2000 formats for streamingAndreas Huber2012-04-111-5/+7
| | | | | | contributed by sureshc@nvidia.com (and subsequently simplified) Change-Id: Ia1c2ac9233f5414ce3e4a70e42e68c1c5c35eb9d
* AV Android make files changesJames Dong2012-03-281-2/+2
| | | | | | | o plus a few file relocation: ActivityManager.cpp/h, SoundPool.h, etc o remove some runtime dependencies to libandroid, libandroid_runtime, etc Change-Id: I047a47c5fb361dd5cf85cd98798c39f629a75d10
* Remove JNI in LOCAL_C_INCLUDE from non-JNI related Android.mk files.James Dong2012-03-241-2/+0
| | | | | | o related-to-bug: 6214141 Change-Id: Ic88d1732b3e014af47532a0809e01f6086e8464d
* Switched to use the header files in /frameworks/nativeJames Dong2012-03-121-4/+4
| | | | | | | | and deleted the duplicate header files in /frameworks/base o related-to-bug: 6044887 Change-Id: I17e0692d9a9b5c8796ded36677c833ca8ab36795
* Add new APIs AMessage::(set|find)Buffer to make it safer to passAndreas Huber2012-02-2210-24/+17
| | | | | | ABuffer objects through messages. Change-Id: I9f8b4e4c4767d0d70a0105e0c0813b754379b49d
* Starhub RTSP apparently does not establish time on all tracksAndreas Huber2012-01-201-1/+29
| | | | | | | | | | i.e. the "SR" RTCP packet is sent for only one of the two tracks. fake timestamps if that's the case, previously we'd only fake timestamps if we didn't receive _any_ "SR" packets. Change-Id: Id63d4940d453ba6c04c62e02ab9a0ad843936bc1 related-to-bug: 5669027
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-085-22/+22
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-064-18/+18
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-049-33/+33
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* Merge "Support for parsing of "folded" RTSP header values and some tweaks to ↵Andreas Huber2011-12-122-9/+31
|\ | | | | | | the AMR assembler"
| * Support for parsing of "folded" RTSP header values and some tweaks to the ↵Andreas Huber2011-12-092-9/+31
| | | | | | | | | | | | | | | | AMR assembler contributed by Samsung (untested). Change-Id: I182561fe0a1a564126bdbb317e96aa52bf525726
* | am aa82c39b: am 0ba9380a: Merge "Fix Bitreader "putBits" implementation, ↵Andreas Huber2011-12-091-5/+9
|\ \ | |/ |/| | | | | | | | | make sure we emulate timestamps" into ics-mr1 * commit 'aa82c39bdb4ad9c1fdcb09f3bea11be5197d3ce6': Fix Bitreader "putBits" implementation, make sure we emulate timestamps
| * Fix Bitreader "putBits" implementation, make sure we emulate timestampsAndreas Huber2011-12-081-5/+9
| | | | | | | | | | | | | | if we don't receive npt time mapping from the rtsp server (i.e. live stream) Change-Id: I5147d665bd90c9a303ad6ffdafbf770f930f917c related-to-bug: 5660357
* | am 8a065423: am 23217182: Merge "Didn\'t mean to check this in..." into ics-mr1Andreas Huber2011-11-111-1/+1
|\ \ | |/ | | | | | | * commit '8a0654231ff36d938bc3451190cf67231195f1d0': Didn't mean to check this in...
| * Didn't mean to check this in...Andreas Huber2011-11-111-1/+1
| | | | | | | | Change-Id: Ie5a1902ff2613cd349ca5724f63a3fe3306640c7
* | am 40461ee7: am cd556b82: Merge "Instead of asserting, signal a runtime ↵Andreas Huber2011-11-111-2/+15
|\ \ | |/ | | | | | | | | | | error if the session doesn\'t contain" into ics-mr1 * commit '40461ee70161d8568663332f72be2353b04c34e7': Instead of asserting, signal a runtime error if the session doesn't contain
| * Merge "Instead of asserting, signal a runtime error if the session doesn't ↵Andreas Huber2011-11-111-2/+15
| |\ | | | | | | | | | contain" into ics-mr1
| | * Instead of asserting, signal a runtime error if the session doesn't containAndreas Huber2011-11-101-2/+15
| | | | | | | | | | | | | | | | | | any playable tracks at all. Change-Id: Ibbbe2fdcd53b7e020da80c84c8229856107a87e6
| * | Merge "DO NOT MERGE: Instead of asserting, remove active streams if their ↵Andreas Huber2011-11-111-15/+47
| |\ \ | | | | | | | | | | | | sockets" into ics-mr1
| | * | DO NOT MERGE: Instead of asserting, remove active streams if their socketsAndreas Huber2011-11-101-15/+47
| | |/ | | | | | | | | | | | | | | | | | | return failure Change-Id: Icb47adfd2fbe0398c473ba66e068186311c9cc79 related-to-bug: 5593654
* | | am 9c981cd3: am d9f25bc9: Merge "Disconnect on socket error on the RTSP ↵Andreas Huber2011-11-112-64/+72
|\ \ \ | |/ / | | | | | | | | | | | | | | | control connection." into ics-mr1 * commit '9c981cd3d53238f10842368c1cd82d625b701a47': Disconnect on socket error on the RTSP control connection.
| * | Disconnect on socket error on the RTSP control connection.Andreas Huber2011-11-102-64/+72
| |/ | | | | | | Change-Id: Ib52a69f9b0830b481c6f5c9b1991d1f4cb36ec7b
* | am 9e2949c6: am 2375d163: Merge "Send RTSP control connection keep-alive ↵Andreas Huber2011-11-101-2/+92
|\ \ | |/ | | | | | | | | | | requests" into ics-mr1 * commit '9e2949c6ab4e791b5c20d5e85c3eff62f206a99b': Send RTSP control connection keep-alive requests
| * Send RTSP control connection keep-alive requestsAndreas Huber2011-11-081-2/+92
| | | | | | | | | | | | | | default to 60 secs unless overridden by server's session-id response. Change-Id: I7c3aff5b787dbb57cc0dccf9db3c75e5cf7e778c related-to-bug: 5562303
* | Instead of asserting, remove active streams if their sockets return failureAndreas Huber2011-11-091-15/+47
| | | | | | | | | | Change-Id: Ic5cc786f718cf921876b181927cf1b03e8373ff1 related-to-bug: 5593654
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-2610-51/+51
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
* NuPlayer is now taking on the task of streaming over RTSP.Andreas Huber2011-10-135-480/+107
| | | | Change-Id: Ie204db8810807f1e7981959e34dc0149e5d9563a
* Network traffic accounting for chromium stack support in mediaserver.Ashish Sharma2011-08-052-3/+33
| | | | | | | - Atribute network activity to uid calling the mediaplayer - Enables logging of chromium network stack in logcat Change-Id: I2d28c8392248a056b3cee305dd4d4475ebba4337
* Eliminate superfluous memcpys by wrapping an ABuffer in a MediaBufferAndreas Huber2011-08-041-3/+1
| | | | | Change-Id: I1313f117cd7cdfaf7d6ec25413a0b4b8ea495037 related-to-bug: 5122973
* Remove legacy http support from stagefright, chromium is the new hotness.Andreas Huber2011-07-132-5/+5
| | | | Change-Id: I6725d42d38b91e6a1cbca43174870f445aeb3d99