summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/rtsp
Commit message (Collapse)AuthorAgeFilesLines
* Add libcrypto for users of libstagefright.Christopher Ferris2014-06-101-3/+0
| | | | | | | | | | libstagefright_rtsp uses some MD5 functions that used to be in bionic, but it was removed recently. As an initial fix, I statically linked in libcrypto_static to the libstagefright_rtsp library. However, I think it's better to modify the single user of this library to link against the shared libcrypto library. Change-Id: Iaf2e1aeea32fd8af038f6e77bf58ea7df50d807a
* Link libcrypto for MD5_* functions.Christopher Ferris2014-06-091-0/+7
| | | | Change-Id: I5dce8f041b9faf035161b82d5e46bd46166bd05c
* media: 64 bit compile issuesMark Salyzyn2014-04-151-1/+1
| | | | | | | | - change internal sized types to use stdint.h - printf & scanf formats - size_t or unsigned int for iterators Change-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446
* libstagefright: fix 64-bit warningsColin Cross2014-04-144-8/+8
| | | | | | | | | | | %lld -> %" PRId64 " for int64_t %d -> %zu for size_t Also fixes some casts from void* to integer types, and some comparisons between signed and unsigned. (cherry picked from commit b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81) Change-Id: I76ba94d0b67776fd7abdc83b43d47c61d6c32f4c
* warnings be gone.Andreas Huber2014-04-113-3/+7
| | | | | | | | (cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36) Modified by Mark Salyzyn <salyzyn@google.com> to keep merge conflicts or errors downstream to a minimum. Change-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613
* Merge "Implemented support for RTSP 301 Redirect"Andreas Huber2014-03-141-11/+22
|\
| * Implemented support for RTSP 301 RedirectDavid Williams2012-12-031-11/+22
| | | | | | | | | | | | RTSP 301 (Permament Redirect) support has been implemented. Change-Id: If82ffc87f4e7dcbdf98e0a662a35cc086750fc1b
* | Remove streaming URI from default logsDavid Williams2014-03-103-3/+3
| | | | | | | | | | | | Streaming URI should not be visible in default logcat logs Change-Id: I104cc56b5335f8c5621013e4c5be8028f0379833
* | am 58dd0786: Merge "Send kWhatConnected in onTimeUpdate() before first ↵Chong Zhang2013-09-251-17/+23
|\ \ | | | | | | | | | | | | | | | | | | access unit" into klp-dev * commit '58dd07863571951408b67fa0a7f17cb23606fb1c': Send kWhatConnected in onTimeUpdate() before first access unit
| * | Send kWhatConnected in onTimeUpdate() before first access unitChong Zhang2013-09-241-17/+23
| | | | | | | | | | | | | | | Bug: 10642588 Change-Id: If2b4fbbf250d5307e304f31c7aa4ac480e279484
* | | am af66fae1: am fb949d5d: Merge "Fix crash in MyHandler when sockets are not ↵Andreas Huber2013-08-282-17/+22
|\ \ \ | |/ / |/| | | | | | | | | | | | | | set." * commit 'af66fae15f8c386ad884e5fa83db4eaef4c4f2ee': Fix crash in MyHandler when sockets are not set.
| * | Merge "Fix crash in MyHandler when sockets are not set."Andreas Huber2013-08-282-17/+22
| |\ \
| | * | Fix crash in MyHandler when sockets are not set.Henrik Backlund2012-12-052-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -When going quickly in and out of the video view during an rtsp streaming session, a race condition occurs and MyHandler tries to connect to a socket that has been reset. To avoid this, checks are added. - If there are errors during setupTrack 1, it is no use setting up track 2. It will cause new errors. - No assert for socket connect since there is a normal status check already. Change-Id: Ie06221d6c0d78ce0449f76c782ed5120fa646bfd
* | | | am bcd86896: am d0f5664a: Merge "Handle undefined NAL type for h264 streaming"Andreas Huber2013-08-081-0/+7
|\ \ \ \ | |/ / / | | | | | | | | | | | | * commit 'bcd86896e486e303d285e13477e0623b2a920e78': Handle undefined NAL type for h264 streaming
| * | | Merge "Handle undefined NAL type for h264 streaming"Andreas Huber2013-08-081-0/+7
| |\ \ \
| | * | | Handle undefined NAL type for h264 streamingPatrik2 Carlsson2013-07-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Packages of undefined NAL type (0) was observed but lead to deleting the subsequent package due to the current assembler implementation. Identifying and ignoring this package without returning an error handles undefined packages without side-effects. Change-Id: I02e15b8682bee3154b3c4acf82639a28417f0c85
* | | | | am b57fb786: am d0ef1ccd: Merge "rtsp handle response line ended with \'\n\'"Andreas Huber2013-07-311-0/+3
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit 'b57fb786a32d4ea78cd8bbf24a65593353d87a88': rtsp handle response line ended with '\n'
| * | | | rtsp handle response line ended with '\n'Yajun Zeng2013-07-311-0/+3
| |/ / / | | | | | | | | | | | | | | | | Change-Id: I5bfafd3fa2c95083e833da2846556282eada2b02 Signed-off-by: Yajun Zeng <beanz@marvell.com>
* | | | Fix typo in socket nameChad Brubaker2013-07-231-1/+1
| | | | | | | | | | | | | | | | Change-Id: I29171368f1b69333ef7eae53ada2fab94e3e28b9
* | | | Add routing sockets for the requesting userChad Brubaker2013-07-192-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Mediaserver sockets are now routed as if the connection was in the requesting app in per user routing. Change-Id: I60f4649c3c4145a65264b54c1aa2c6c7741efaba
* | | | am 1468dd9c: am c582fde9: resolved conflicts for merge of c158971f to ↵Jean-Baptiste Queru2013-07-081-1/+12
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | stage-aosp-master * commit '1468dd9cefe11d5938a5497688f99701b6b14706': Store rtsp accessunit until PLAY response parsed
| * | | resolved conflicts for merge of c158971f to stage-aosp-masterJean-Baptiste Queru2013-07-081-1/+12
| |\ \ \ | | | | | | | | | | | | | | | Change-Id: I3d77b86f7e616af62a826fc37126706ad8ff6158
| | * | | Store rtsp accessunit until PLAY response parsedYajun Zeng2013-05-131-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If RTP accessunit comes earlier than play response, the normal play time mapping posted in func onAccessUnitComplete is wrong. This leads wrong timestamp of the first few frames. This issue is found in the 3 CtsVerifier RTSP streaming cases. Change-Id: I640eea375b1f3f4730238f9d561c3b40ec682395 Signed-off-by: Yajun Zeng <beanz@marvell.com>
| * | | | am 0dbff625: Merge "Fix overflow of rand in ARTPConnection"Andreas Huber2013-04-241-1/+2
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit '0dbff625c3128962b48f3476ceacb3ac80a3f421': Fix overflow of rand in ARTPConnection
| | * | | | Fix overflow of rand in ARTPConnectionYajun Zeng2013-04-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | without this fix, (rand()*1000)/RAND_MAX is mainly 0. Change-Id: I48ae940a7b6974b197d81732774c9dcea107bcf1 Signed-off-by: Yajun Zeng <beanz@marvell.com>
| * | | | | Identify network servers and clients with a OS version related stringAndreas Huber2013-03-263-39/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and put the logic to create that string in one location instead of many... Change-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39
| * | | | | am 59ac7b30: am 66abe3ae: Merge "Fix for crash if no content in DESCRIBE ↵Andreas Huber2013-03-151-0/+3
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | response" * commit '59ac7b3056db57e5a8e851b7946a181c5fc34852': Fix for crash if no content in DESCRIBE response
| | * | | | 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
* | | | | am 0fb06b85: am 0dbff625: Merge "Fix overflow of rand in ARTPConnection"Andreas Huber2013-04-241-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit '0fb06b85e9f40cc695542a101113255693c91321': Fix overflow of rand in ARTPConnection
| * \ \ \ \ am 0dbff625: Merge "Fix overflow of rand in ARTPConnection"Andreas Huber2013-04-241-1/+2
| |\ \ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | * commit '0dbff625c3128962b48f3476ceacb3ac80a3f421': Fix overflow of rand in ARTPConnection
| | * | | | Fix overflow of rand in ARTPConnectionYajun Zeng2013-04-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | without this fix, (rand()*1000)/RAND_MAX is mainly 0. Change-Id: I48ae940a7b6974b197d81732774c9dcea107bcf1 Signed-off-by: Yajun Zeng <beanz@marvell.com>
* | | | | | am 1e7d497c: am cd77d4a1: Identify network servers and clients with a OS ↵Andreas Huber2013-03-263-39/+10
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | version related string * commit '1e7d497c91e429b70fff592e6ae78aa81a4cea16': Identify network servers and clients with a OS version related string
| * | | | | Identify network servers and clients with a OS version related stringAndreas Huber2013-03-263-39/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and put the logic to create that string in one location instead of many... Change-Id: I1f729f2e7376cd3b45eea0e48f7bd10084b41b39
* | | | | | Turn off debug tags in stagefright modules.Dan Morrill2013-03-191-1/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LOCAL_MODULE_TAGS := debug causes the module to be included in every userdebug build, regardless of whether it's specified as a dep by the device config. This CL switches them all to optional (i.e. default behavior) so that we can do (userdebug) device builds without pulling these in. Change-Id: I4b7b65afea61865dd38b3af55550fb8f10edf66d
* | | | | am 59ac7b30: am 66abe3ae: Merge "Fix for crash if no content in DESCRIBE ↵Andreas Huber2013-03-151-0/+3
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | response" * commit '59ac7b3056db57e5a8e851b7946a181c5fc34852': Fix for crash if no content in DESCRIBE response