winlin

for #328, fix hds compile error on mac.

@@ -173,7 +173,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then @@ -173,7 +173,7 @@ if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then
173 "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks" 173 "srs_app_pithy_print" "srs_app_reload" "srs_app_http_api" "srs_app_http_conn" "srs_app_http_hooks"
174 "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge" 174 "srs_app_json" "srs_app_ingest" "srs_app_ffmpeg" "srs_app_utility" "srs_app_dvr" "srs_app_edge"
175 "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client" 175 "srs_app_kbps" "srs_app_heartbeat" "srs_app_empty" "srs_app_http_client"
176 - "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" 176 + "srs_app_recv_thread" "srs_app_security" "srs_app_statistic" "srs_app_hds"
177 "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener") 177 "srs_app_mpegts_udp" "srs_app_rtsp" "srs_app_listener")
178 # add each modules for app 178 # add each modules for app
179 for SRS_MODULE in $SRS_MODULES; do 179 for SRS_MODULE in $SRS_MODULES; do
@@ -73,6 +73,7 @@ @@ -73,6 +73,7 @@
73 3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */; }; 73 3C1232E91AAEA5D000CE8F6C /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E71AAEA5D000CE8F6C /* libcrypto.a */; };
74 3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E81AAEA5D000CE8F6C /* libssl.a */; }; 74 3C1232EA1AAEA5D000CE8F6C /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232E81AAEA5D000CE8F6C /* libssl.a */; };
75 3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */; }; 75 3C1232ED1AAEA70F00CE8F6C /* libhttp_parser.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C1232EC1AAEA70F00CE8F6C /* libhttp_parser.a */; };
  76 + 3C1EE6AE1AB1055800576EE9 /* srs_app_hds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3C1EE6AC1AB1055800576EE9 /* srs_app_hds.cpp */; };
76 3C663F0E1AB0155100286D8B /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F011AB0155100286D8B /* Makefile */; }; 77 3C663F0E1AB0155100286D8B /* Makefile in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F011AB0155100286D8B /* Makefile */; };
77 3C663F0F1AB0155100286D8B /* srs_aac_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */; }; 78 3C663F0F1AB0155100286D8B /* srs_aac_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */; };
78 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */; }; 79 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */; };
@@ -258,6 +259,8 @@ @@ -258,6 +259,8 @@
258 3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; }; 259 3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; };
259 3C1232F31AAEAC7000CE8F6C /* srs-demo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo"; path = "../../../etc/init.d/srs-demo"; sourceTree = "<group>"; }; 260 3C1232F31AAEAC7000CE8F6C /* srs-demo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo"; path = "../../../etc/init.d/srs-demo"; sourceTree = "<group>"; };
260 3C1232F41AAEAC7000CE8F6C /* srs-demo-19350 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo-19350"; path = "../../../etc/init.d/srs-demo-19350"; sourceTree = "<group>"; }; 261 3C1232F41AAEAC7000CE8F6C /* srs-demo-19350 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo-19350"; path = "../../../etc/init.d/srs-demo-19350"; sourceTree = "<group>"; };
  262 + 3C1EE6AC1AB1055800576EE9 /* srs_app_hds.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = srs_app_hds.cpp; path = ../../../src/app/srs_app_hds.cpp; sourceTree = "<group>"; };
  263 + 3C1EE6AD1AB1055800576EE9 /* srs_app_hds.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = srs_app_hds.hpp; path = ../../../src/app/srs_app_hds.hpp; sourceTree = "<group>"; };
261 3C663F011AB0155100286D8B /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = ../../../research/librtmp/Makefile; sourceTree = "<group>"; }; 264 3C663F011AB0155100286D8B /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; name = Makefile; path = ../../../research/librtmp/Makefile; sourceTree = "<group>"; };
262 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_aac_raw_publish.c; path = ../../../research/librtmp/srs_aac_raw_publish.c; sourceTree = "<group>"; }; 265 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_aac_raw_publish.c; path = ../../../research/librtmp/srs_aac_raw_publish.c; sourceTree = "<group>"; };
263 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_audio_raw_publish.c; path = ../../../research/librtmp/srs_audio_raw_publish.c; sourceTree = "<group>"; }; 266 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_audio_raw_publish.c; path = ../../../research/librtmp/srs_audio_raw_publish.c; sourceTree = "<group>"; };
@@ -433,6 +436,8 @@ @@ -433,6 +436,8 @@
433 3C12325D1AAE81D900CE8F6C /* srs_app_forward.hpp */, 436 3C12325D1AAE81D900CE8F6C /* srs_app_forward.hpp */,
434 3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */, 437 3C12325E1AAE81D900CE8F6C /* srs_app_heartbeat.cpp */,
435 3C12325F1AAE81D900CE8F6C /* srs_app_heartbeat.hpp */, 438 3C12325F1AAE81D900CE8F6C /* srs_app_heartbeat.hpp */,
  439 + 3C1EE6AC1AB1055800576EE9 /* srs_app_hds.cpp */,
  440 + 3C1EE6AD1AB1055800576EE9 /* srs_app_hds.hpp */,
436 3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */, 441 3C1232601AAE81D900CE8F6C /* srs_app_hls.cpp */,
437 3C1232611AAE81D900CE8F6C /* srs_app_hls.hpp */, 442 3C1232611AAE81D900CE8F6C /* srs_app_hls.hpp */,
438 3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */, 443 3C1232621AAE81D900CE8F6C /* srs_app_http_api.cpp */,
@@ -651,6 +656,7 @@ @@ -651,6 +656,7 @@
651 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */, 656 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */,
652 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */, 657 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */,
653 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */, 658 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */,
  659 + 3C1EE6AE1AB1055800576EE9 /* srs_app_hds.cpp in Sources */,
654 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */, 660 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */,
655 3C663F111AB0155100286D8B /* srs_bandwidth_check.c in Sources */, 661 3C663F111AB0155100286D8B /* srs_bandwidth_check.c in Sources */,
656 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */, 662 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */,
@@ -21,7 +21,9 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER @@ -21,7 +21,9 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 */ 23 */
  24 +#include <srs_app_hds.hpp>
24 25
  26 +#include <unistd.h>
25 #include <string> 27 #include <string>
26 #include <vector> 28 #include <vector>
27 #include <sys/types.h> 29 #include <sys/types.h>
@@ -462,7 +464,9 @@ int SrsHds::flush_bootstrap() @@ -462,7 +464,9 @@ int SrsHds::flush_bootstrap()
462 char *start_afrt = NULL; 464 char *start_afrt = NULL;
463 int size_afrt = 0; 465 int size_afrt = 0;
464 466
465 - abst.initialize(start_abst, size); 467 + if ((ret = abst.initialize(start_abst, size)) != ERROR_SUCCESS) {
  468 + return ret;
  469 + }
466 470
467 // @see video_file_format_spec_v10_1 471 // @see video_file_format_spec_v10_1
468 // page: 46 472 // page: 46
@@ -25,6 +25,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -25,6 +25,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 #ifndef SRS_APP_HDS_HPP 25 #ifndef SRS_APP_HDS_HPP
26 #define SRS_APP_HDS_HPP 26 #define SRS_APP_HDS_HPP
27 27
  28 +#include <srs_core.hpp>
  29 +
28 #include <list> 30 #include <list>
29 31
30 class SrsRequest; 32 class SrsRequest;
@@ -32,8 +34,6 @@ class SrsSharedPtrMessage; @@ -32,8 +34,6 @@ class SrsSharedPtrMessage;
32 class SrsHdsFragment; 34 class SrsHdsFragment;
33 class SrsSource; 35 class SrsSource;
34 36
35 -using namespace std;  
36 -  
37 class SrsHds 37 class SrsHds
38 { 38 {
39 public: 39 public:
@@ -52,7 +52,7 @@ private: @@ -52,7 +52,7 @@ private:
52 void adjust_windows(); 52 void adjust_windows();
53 53
54 private: 54 private:
55 - list<SrsHdsFragment *> fragments; 55 + std::list<SrsHdsFragment *> fragments;
56 SrsHdsFragment *currentSegment; 56 SrsHdsFragment *currentSegment;
57 SrsSource *source; 57 SrsSource *source;
58 int fragment_index; 58 int fragment_index;