正在显示
5 个修改的文件
包含
98 行增加
和
13 行删除
| @@ -73,6 +73,19 @@ | @@ -73,6 +73,19 @@ | ||
| 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 | + 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 | + 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */; }; | ||
| 79 | + 3C663F111AB0155100286D8B /* srs_bandwidth_check.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F041AB0155100286D8B /* srs_bandwidth_check.c */; }; | ||
| 80 | + 3C663F121AB0155100286D8B /* srs_detect_rtmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F051AB0155100286D8B /* srs_detect_rtmp.c */; }; | ||
| 81 | + 3C663F131AB0155100286D8B /* srs_flv_injecter.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F061AB0155100286D8B /* srs_flv_injecter.c */; }; | ||
| 82 | + 3C663F141AB0155100286D8B /* srs_flv_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F071AB0155100286D8B /* srs_flv_parser.c */; }; | ||
| 83 | + 3C663F151AB0155100286D8B /* srs_h264_raw_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F081AB0155100286D8B /* srs_h264_raw_publish.c */; }; | ||
| 84 | + 3C663F161AB0155100286D8B /* srs_ingest_flv.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F091AB0155100286D8B /* srs_ingest_flv.c */; }; | ||
| 85 | + 3C663F171AB0155100286D8B /* srs_ingest_rtmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F0A1AB0155100286D8B /* srs_ingest_rtmp.c */; }; | ||
| 86 | + 3C663F181AB0155100286D8B /* srs_play.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F0B1AB0155100286D8B /* srs_play.c */; }; | ||
| 87 | + 3C663F191AB0155100286D8B /* srs_publish.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F0C1AB0155100286D8B /* srs_publish.c */; }; | ||
| 88 | + 3C663F1A1AB0155100286D8B /* srs_rtmp_dump.c in Sources */ = {isa = PBXBuildFile; fileRef = 3C663F0D1AB0155100286D8B /* srs_rtmp_dump.c */; }; | ||
| 76 | /* End PBXBuildFile section */ | 89 | /* End PBXBuildFile section */ |
| 77 | 90 | ||
| 78 | /* Begin PBXCopyFilesBuildPhase section */ | 91 | /* Begin PBXCopyFilesBuildPhase section */ |
| @@ -245,6 +258,19 @@ | @@ -245,6 +258,19 @@ | ||
| 245 | 3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; }; | 258 | 3C1232F21AAEAC7000CE8F6C /* srs-api */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-api"; path = "../../../etc/init.d/srs-api"; sourceTree = "<group>"; }; |
| 246 | 3C1232F31AAEAC7000CE8F6C /* srs-demo */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = "srs-demo"; path = "../../../etc/init.d/srs-demo"; 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>"; }; |
| 247 | 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>"; }; | 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 | + 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>"; }; | ||
| 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>"; }; | ||
| 264 | + 3C663F041AB0155100286D8B /* srs_bandwidth_check.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_bandwidth_check.c; path = ../../../research/librtmp/srs_bandwidth_check.c; sourceTree = "<group>"; }; | ||
| 265 | + 3C663F051AB0155100286D8B /* srs_detect_rtmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_detect_rtmp.c; path = ../../../research/librtmp/srs_detect_rtmp.c; sourceTree = "<group>"; }; | ||
| 266 | + 3C663F061AB0155100286D8B /* srs_flv_injecter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_flv_injecter.c; path = ../../../research/librtmp/srs_flv_injecter.c; sourceTree = "<group>"; }; | ||
| 267 | + 3C663F071AB0155100286D8B /* srs_flv_parser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_flv_parser.c; path = ../../../research/librtmp/srs_flv_parser.c; sourceTree = "<group>"; }; | ||
| 268 | + 3C663F081AB0155100286D8B /* srs_h264_raw_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_h264_raw_publish.c; path = ../../../research/librtmp/srs_h264_raw_publish.c; sourceTree = "<group>"; }; | ||
| 269 | + 3C663F091AB0155100286D8B /* srs_ingest_flv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_ingest_flv.c; path = ../../../research/librtmp/srs_ingest_flv.c; sourceTree = "<group>"; }; | ||
| 270 | + 3C663F0A1AB0155100286D8B /* srs_ingest_rtmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_ingest_rtmp.c; path = ../../../research/librtmp/srs_ingest_rtmp.c; sourceTree = "<group>"; }; | ||
| 271 | + 3C663F0B1AB0155100286D8B /* srs_play.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_play.c; path = ../../../research/librtmp/srs_play.c; sourceTree = "<group>"; }; | ||
| 272 | + 3C663F0C1AB0155100286D8B /* srs_publish.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_publish.c; path = ../../../research/librtmp/srs_publish.c; sourceTree = "<group>"; }; | ||
| 273 | + 3C663F0D1AB0155100286D8B /* srs_rtmp_dump.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = srs_rtmp_dump.c; path = ../../../research/librtmp/srs_rtmp_dump.c; sourceTree = "<group>"; }; | ||
| 248 | /* End PBXFileReference section */ | 274 | /* End PBXFileReference section */ |
| 249 | 275 | ||
| 250 | /* Begin PBXFrameworksBuildPhase section */ | 276 | /* Begin PBXFrameworksBuildPhase section */ |
| @@ -265,9 +291,10 @@ | @@ -265,9 +291,10 @@ | ||
| 265 | 3C1231DC1AAE64A400CE8F6C = { | 291 | 3C1231DC1AAE64A400CE8F6C = { |
| 266 | isa = PBXGroup; | 292 | isa = PBXGroup; |
| 267 | children = ( | 293 | children = ( |
| 294 | + 3C1231E61AAE64A400CE8F6C /* Products */, | ||
| 268 | 3C1232EE1AAEA71C00CE8F6C /* links */, | 295 | 3C1232EE1AAEA71C00CE8F6C /* links */, |
| 269 | 3C1231E71AAE64A400CE8F6C /* srs_xcode */, | 296 | 3C1231E71AAE64A400CE8F6C /* srs_xcode */, |
| 270 | - 3C1231E61AAE64A400CE8F6C /* Products */, | 297 | + 3C663F001AB014B500286D8B /* research */, |
| 271 | ); | 298 | ); |
| 272 | sourceTree = "<group>"; | 299 | sourceTree = "<group>"; |
| 273 | }; | 300 | }; |
| @@ -529,6 +556,27 @@ | @@ -529,6 +556,27 @@ | ||
| 529 | name = init.d; | 556 | name = init.d; |
| 530 | sourceTree = "<group>"; | 557 | sourceTree = "<group>"; |
| 531 | }; | 558 | }; |
| 559 | + 3C663F001AB014B500286D8B /* research */ = { | ||
| 560 | + isa = PBXGroup; | ||
| 561 | + children = ( | ||
| 562 | + 3C663F011AB0155100286D8B /* Makefile */, | ||
| 563 | + 3C663F021AB0155100286D8B /* srs_aac_raw_publish.c */, | ||
| 564 | + 3C663F031AB0155100286D8B /* srs_audio_raw_publish.c */, | ||
| 565 | + 3C663F041AB0155100286D8B /* srs_bandwidth_check.c */, | ||
| 566 | + 3C663F051AB0155100286D8B /* srs_detect_rtmp.c */, | ||
| 567 | + 3C663F061AB0155100286D8B /* srs_flv_injecter.c */, | ||
| 568 | + 3C663F071AB0155100286D8B /* srs_flv_parser.c */, | ||
| 569 | + 3C663F081AB0155100286D8B /* srs_h264_raw_publish.c */, | ||
| 570 | + 3C663F091AB0155100286D8B /* srs_ingest_flv.c */, | ||
| 571 | + 3C663F0A1AB0155100286D8B /* srs_ingest_rtmp.c */, | ||
| 572 | + 3C663F0B1AB0155100286D8B /* srs_play.c */, | ||
| 573 | + 3C663F0C1AB0155100286D8B /* srs_publish.c */, | ||
| 574 | + 3C663F0D1AB0155100286D8B /* srs_rtmp_dump.c */, | ||
| 575 | + ); | ||
| 576 | + name = research; | ||
| 577 | + path = srs_xcode; | ||
| 578 | + sourceTree = "<group>"; | ||
| 579 | + }; | ||
| 532 | /* End PBXGroup section */ | 580 | /* End PBXGroup section */ |
| 533 | 581 | ||
| 534 | /* Begin PBXNativeTarget section */ | 582 | /* Begin PBXNativeTarget section */ |
| @@ -586,9 +634,12 @@ | @@ -586,9 +634,12 @@ | ||
| 586 | buildActionMask = 2147483647; | 634 | buildActionMask = 2147483647; |
| 587 | files = ( | 635 | files = ( |
| 588 | 3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */, | 636 | 3C1232951AAE81D900CE8F6C /* srs_app_config.cpp in Sources */, |
| 637 | + 3C663F0F1AB0155100286D8B /* srs_aac_raw_publish.c in Sources */, | ||
| 589 | 3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */, | 638 | 3C1232961AAE81D900CE8F6C /* srs_app_conn.cpp in Sources */, |
| 590 | 3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */, | 639 | 3C12322A1AAE814D00CE8F6C /* srs_kernel_ts.cpp in Sources */, |
| 591 | 3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */, | 640 | 3C12329E1AAE81D900CE8F6C /* srs_app_hls.cpp in Sources */, |
| 641 | + 3C663F171AB0155100286D8B /* srs_ingest_rtmp.c in Sources */, | ||
| 642 | + 3C663F131AB0155100286D8B /* srs_flv_injecter.c in Sources */, | ||
| 592 | 3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */, | 643 | 3C1232971AAE81D900CE8F6C /* srs_app_dvr.cpp in Sources */, |
| 593 | 3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */, | 644 | 3C1232271AAE814D00CE8F6C /* srs_kernel_log.cpp in Sources */, |
| 594 | 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */, | 645 | 3C1232A81AAE81D900CE8F6C /* srs_app_log.cpp in Sources */, |
| @@ -600,6 +651,8 @@ | @@ -600,6 +651,8 @@ | ||
| 600 | 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */, | 651 | 3C12324A1AAE81A400CE8F6C /* srs_rtsp_stack.cpp in Sources */, |
| 601 | 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */, | 652 | 3C1232A51AAE81D900CE8F6C /* srs_app_json.cpp in Sources */, |
| 602 | 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */, | 653 | 3C12329F1AAE81D900CE8F6C /* srs_app_http_api.cpp in Sources */, |
| 654 | + 3C663F101AB0155100286D8B /* srs_audio_raw_publish.c in Sources */, | ||
| 655 | + 3C663F111AB0155100286D8B /* srs_bandwidth_check.c in Sources */, | ||
| 603 | 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */, | 656 | 3C1232A11AAE81D900CE8F6C /* srs_app_http_conn.cpp in Sources */, |
| 604 | 3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */, | 657 | 3C1232AC1AAE81D900CE8F6C /* srs_app_refer.cpp in Sources */, |
| 605 | 3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */, | 658 | 3C1232991AAE81D900CE8F6C /* srs_app_empty.cpp in Sources */, |
| @@ -608,9 +661,11 @@ | @@ -608,9 +661,11 @@ | ||
| 608 | 3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */, | 661 | 3C1232221AAE814D00CE8F6C /* srs_kernel_codec.cpp in Sources */, |
| 609 | 3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */, | 662 | 3C1232B71AAE81D900CE8F6C /* srs_app_utility.cpp in Sources */, |
| 610 | 3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */, | 663 | 3C1232AB1AAE81D900CE8F6C /* srs_app_recv_thread.cpp in Sources */, |
| 664 | + 3C663F151AB0155100286D8B /* srs_h264_raw_publish.c in Sources */, | ||
| 611 | 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */, | 665 | 3C1231F61AAE652D00CE8F6C /* srs_core_autofree.cpp in Sources */, |
| 612 | 3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */, | 666 | 3C1232411AAE81A400CE8F6C /* srs_raw_avc.cpp in Sources */, |
| 613 | 3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */, | 667 | 3C1232491AAE81A400CE8F6C /* srs_rtmp_utility.cpp in Sources */, |
| 668 | + 3C663F191AB0155100286D8B /* srs_publish.c in Sources */, | ||
| 614 | 3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */, | 669 | 3C1232A01AAE81D900CE8F6C /* srs_app_http_client.cpp in Sources */, |
| 615 | 3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */, | 670 | 3C12329B1AAE81D900CE8F6C /* srs_app_ffmpeg.cpp in Sources */, |
| 616 | 3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */, | 671 | 3C1232421AAE81A400CE8F6C /* srs_rtmp_amf0.cpp in Sources */, |
| @@ -620,6 +675,7 @@ | @@ -620,6 +675,7 @@ | ||
| 620 | 3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */, | 675 | 3C1232AD1AAE81D900CE8F6C /* srs_app_reload.cpp in Sources */, |
| 621 | 3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */, | 676 | 3C1231F81AAE652D00CE8F6C /* srs_core.cpp in Sources */, |
| 622 | 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */, | 677 | 3C1232A21AAE81D900CE8F6C /* srs_app_http_hooks.cpp in Sources */, |
| 678 | + 3C663F121AB0155100286D8B /* srs_detect_rtmp.c in Sources */, | ||
| 623 | 3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */, | 679 | 3C1232B11AAE81D900CE8F6C /* srs_app_server.cpp in Sources */, |
| 624 | 3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */, | 680 | 3C1232B31AAE81D900CE8F6C /* srs_app_st_socket.cpp in Sources */, |
| 625 | 3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */, | 681 | 3C1232061AAE812C00CE8F6C /* srs_main_server.cpp in Sources */, |
| @@ -630,15 +686,20 @@ | @@ -630,15 +686,20 @@ | ||
| 630 | 3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */, | 686 | 3C1232461AAE81A400CE8F6C /* srs_rtmp_msg_array.cpp in Sources */, |
| 631 | 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */, | 687 | 3C1232A71AAE81D900CE8F6C /* srs_app_listener.cpp in Sources */, |
| 632 | 3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */, | 688 | 3C1232261AAE814D00CE8F6C /* srs_kernel_flv.cpp in Sources */, |
| 689 | + 3C663F1A1AB0155100286D8B /* srs_rtmp_dump.c in Sources */, | ||
| 633 | 3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */, | 690 | 3C1232241AAE814D00CE8F6C /* srs_kernel_error.cpp in Sources */, |
| 634 | 3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */, | 691 | 3C1232441AAE81A400CE8F6C /* srs_rtmp_handshake.cpp in Sources */, |
| 635 | 3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */, | 692 | 3C1232291AAE814D00CE8F6C /* srs_kernel_stream.cpp in Sources */, |
| 693 | + 3C663F181AB0155100286D8B /* srs_play.c in Sources */, | ||
| 636 | 3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */, | 694 | 3C1232B61AAE81D900CE8F6C /* srs_app_thread.cpp in Sources */, |
| 637 | 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */, | 695 | 3C1232A91AAE81D900CE8F6C /* srs_app_mpegts_udp.cpp in Sources */, |
| 638 | 3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */, | 696 | 3C1232AE1AAE81D900CE8F6C /* srs_app_rtmp_conn.cpp in Sources */, |
| 639 | 3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */, | 697 | 3C1232B51AAE81D900CE8F6C /* srs_app_statistic.cpp in Sources */, |
| 698 | + 3C663F161AB0155100286D8B /* srs_ingest_flv.c in Sources */, | ||
| 699 | + 3C663F141AB0155100286D8B /* srs_flv_parser.c in Sources */, | ||
| 640 | 3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */, | 700 | 3C1232451AAE81A400CE8F6C /* srs_rtmp_io.cpp in Sources */, |
| 641 | 3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */, | 701 | 3C1232431AAE81A400CE8F6C /* srs_rtmp_buffer.cpp in Sources */, |
| 702 | + 3C663F0E1AB0155100286D8B /* Makefile in Sources */, | ||
| 642 | 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */, | 703 | 3C1232211AAE814D00CE8F6C /* srs_kernel_buffer.cpp in Sources */, |
| 643 | 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */, | 704 | 3C1232471AAE81A400CE8F6C /* srs_rtmp_sdk.cpp in Sources */, |
| 644 | 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */, | 705 | 3C1232A61AAE81D900CE8F6C /* srs_app_kbps.cpp in Sources */, |
| @@ -53,7 +53,8 @@ int main(int argc, char** argv) | @@ -53,7 +53,8 @@ int main(int argc, char** argv) | ||
| 53 | // user option parse index. | 53 | // user option parse index. |
| 54 | int opt = 0; | 54 | int opt = 0; |
| 55 | // user options. | 55 | // user options. |
| 56 | - char* in_flv_file; char* out_rtmp_url; | 56 | + char* in_flv_file = NULL; |
| 57 | + char* out_rtmp_url = NULL; | ||
| 57 | // rtmp handler | 58 | // rtmp handler |
| 58 | srs_rtmp_t ortmp; | 59 | srs_rtmp_t ortmp; |
| 59 | // flv handler | 60 | // flv handler |
| @@ -89,6 +90,15 @@ int main(int argc, char** argv) | @@ -89,6 +90,15 @@ int main(int argc, char** argv) | ||
| 89 | } | 90 | } |
| 90 | } | 91 | } |
| 91 | 92 | ||
| 93 | + if (!in_flv_file) { | ||
| 94 | + srs_human_trace("input invalid, use -i <input>"); | ||
| 95 | + return -1; | ||
| 96 | + } | ||
| 97 | + if (!out_rtmp_url) { | ||
| 98 | + srs_human_trace("output invalid, use -y <output>"); | ||
| 99 | + return -1; | ||
| 100 | + } | ||
| 101 | + | ||
| 92 | srs_human_trace("input: %s", in_flv_file); | 102 | srs_human_trace("input: %s", in_flv_file); |
| 93 | srs_human_trace("output: %s", out_rtmp_url); | 103 | srs_human_trace("output: %s", out_rtmp_url); |
| 94 | 104 |
| @@ -41,7 +41,8 @@ int main(int argc, char** argv) | @@ -41,7 +41,8 @@ int main(int argc, char** argv) | ||
| 41 | // user option parse index. | 41 | // user option parse index. |
| 42 | int opt = 0; | 42 | int opt = 0; |
| 43 | // user options. | 43 | // user options. |
| 44 | - char* in_rtmp_url; char* out_rtmp_url; | 44 | + char* in_rtmp_url = NULL; |
| 45 | + char* out_rtmp_url = NULL; | ||
| 45 | // rtmp handler | 46 | // rtmp handler |
| 46 | srs_rtmp_t irtmp, ortmp; | 47 | srs_rtmp_t irtmp, ortmp; |
| 47 | 48 | ||
| @@ -74,6 +75,15 @@ int main(int argc, char** argv) | @@ -74,6 +75,15 @@ int main(int argc, char** argv) | ||
| 74 | } | 75 | } |
| 75 | } | 76 | } |
| 76 | 77 | ||
| 78 | + if (!in_rtmp_url) { | ||
| 79 | + srs_human_trace("input invalid, use -i <input>"); | ||
| 80 | + return -1; | ||
| 81 | + } | ||
| 82 | + if (!out_rtmp_url) { | ||
| 83 | + srs_human_trace("output invalid, use -y <output>"); | ||
| 84 | + return -1; | ||
| 85 | + } | ||
| 86 | + | ||
| 77 | srs_human_trace("input: %s", in_rtmp_url); | 87 | srs_human_trace("input: %s", in_rtmp_url); |
| 78 | srs_human_trace("output: %s", out_rtmp_url); | 88 | srs_human_trace("output: %s", out_rtmp_url); |
| 79 | 89 |
| @@ -43,9 +43,6 @@ using namespace std; | @@ -43,9 +43,6 @@ using namespace std; | ||
| 43 | 43 | ||
| 44 | #define SRS_DEFAULT_HTTP_PORT 80 | 44 | #define SRS_DEFAULT_HTTP_PORT 80 |
| 45 | 45 | ||
| 46 | -#define SRS_HTTP_HEADER_BUFFER 1024 | ||
| 47 | -#define SRS_HTTP_BODY_BUFFER 1024 | ||
| 48 | - | ||
| 49 | // for http parser macros | 46 | // for http parser macros |
| 50 | #define SRS_CONSTS_HTTP_OPTIONS HTTP_OPTIONS | 47 | #define SRS_CONSTS_HTTP_OPTIONS HTTP_OPTIONS |
| 51 | #define SRS_CONSTS_HTTP_GET HTTP_GET | 48 | #define SRS_CONSTS_HTTP_GET HTTP_GET |
| @@ -1310,9 +1307,18 @@ int SrsHttpParser::parse_message_imp(SrsStSocket* skt) | @@ -1310,9 +1307,18 @@ int SrsHttpParser::parse_message_imp(SrsStSocket* skt) | ||
| 1310 | int ret = ERROR_SUCCESS; | 1307 | int ret = ERROR_SUCCESS; |
| 1311 | 1308 | ||
| 1312 | while (true) { | 1309 | while (true) { |
| 1313 | - if (buffer->size() <= 0) { | ||
| 1314 | - // when empty, only grow 1bytes, but the buffer will cache more. | ||
| 1315 | - if ((ret = buffer->grow(skt, 1)) != ERROR_SUCCESS) { | 1310 | + ssize_t nparsed = 0; |
| 1311 | + | ||
| 1312 | + // when buffer not empty, parse it. | ||
| 1313 | + if (buffer->size() > 0) { | ||
| 1314 | + nparsed = http_parser_execute(&parser, &settings, buffer->bytes(), buffer->size()); | ||
| 1315 | + srs_info("buffer=%d, nparsed=%d, body=%d", buffer->size(), (int)nparsed, body_parsed); | ||
| 1316 | + } | ||
| 1317 | + | ||
| 1318 | + // when nothing parsed, read more to parse. | ||
| 1319 | + if (nparsed == 0) { | ||
| 1320 | + // when requires more, only grow 1bytes, but the buffer will cache more. | ||
| 1321 | + if ((ret = buffer->grow(skt, buffer->size() + 1)) != ERROR_SUCCESS) { | ||
| 1316 | if (!srs_is_client_gracefully_close(ret)) { | 1322 | if (!srs_is_client_gracefully_close(ret)) { |
| 1317 | srs_error("read body from server failed. ret=%d", ret); | 1323 | srs_error("read body from server failed. ret=%d", ret); |
| 1318 | } | 1324 | } |
| @@ -1320,10 +1326,8 @@ int SrsHttpParser::parse_message_imp(SrsStSocket* skt) | @@ -1320,10 +1326,8 @@ int SrsHttpParser::parse_message_imp(SrsStSocket* skt) | ||
| 1320 | } | 1326 | } |
| 1321 | } | 1327 | } |
| 1322 | 1328 | ||
| 1323 | - int nb_header = srs_min(SRS_HTTP_HEADER_BUFFER, buffer->size()); | ||
| 1324 | - ssize_t nparsed = http_parser_execute(&parser, &settings, buffer->bytes(), nb_header); | ||
| 1325 | - srs_info("buffer=%d, nparsed=%d, body=%d", buffer->size(), (int)nparsed, body_parsed); | ||
| 1326 | - if (nparsed - body_parsed > 0) { | 1329 | + // consume the parsed bytes. |
| 1330 | + if (nparsed && nparsed - body_parsed > 0) { | ||
| 1327 | buffer->read_slice(nparsed - body_parsed); | 1331 | buffer->read_slice(nparsed - body_parsed); |
| 1328 | } | 1332 | } |
| 1329 | 1333 |
-
请 注册 或 登录 后发表评论