mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Remove dead link for issues
This commit is contained in:
parent
2ac214fdc6
commit
19e857ada4
25 changed files with 1 additions and 70 deletions
|
@ -1,5 +1,4 @@
|
|||
/*
|
||||
# see: https://github.com/ossrs/srs/issues/190
|
||||
# see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLinuxArm
|
||||
g++ -g -O0 -o jmp_sp jmp_sp.cpp
|
||||
arm-linux-gnueabi-g++ -g -o jmp_sp jmp_sp.cpp -static
|
||||
|
|
|
@ -746,7 +746,6 @@ public:
|
|||
// all clients connected to edge must be tranverse to origin to verify.
|
||||
virtual bool get_vhost_edge_token_traverse(std::string vhost);
|
||||
// Get the transformed vhost for edge,
|
||||
// @see https://github.com/ossrs/srs/issues/372
|
||||
virtual std::string get_vhost_edge_transform_vhost(std::string vhost);
|
||||
// Whether enable the origin cluster.
|
||||
// @see https://github.com/ossrs/srs/wiki/v3_EN_OriginCluster
|
||||
|
@ -921,7 +920,6 @@ public:
|
|||
// Get the hls hls_on_error config.
|
||||
// The ignore will ignore error and disable hls.
|
||||
// The disconnect will disconnect publish connection.
|
||||
// @see https://github.com/ossrs/srs/issues/264
|
||||
virtual std::string get_hls_on_error(std::string vhost);
|
||||
// Get the HLS default audio codec.
|
||||
virtual std::string get_hls_acodec(std::string vhost);
|
||||
|
|
|
@ -66,7 +66,6 @@ srs_error_t SrsEdgeRtmpUpstream::connect(SrsRequest* r, SrsLbRoundRobin* lb)
|
|||
if (true) {
|
||||
SrsConfDirective* conf = _srs_config->get_vhost_edge_origin(req->vhost);
|
||||
|
||||
// @see https://github.com/ossrs/srs/issues/79
|
||||
// when origin is error, for instance, server is shutdown,
|
||||
// then user remove the vhost then reload, the conf is empty.
|
||||
if (!conf) {
|
||||
|
@ -93,7 +92,6 @@ srs_error_t SrsEdgeRtmpUpstream::connect(SrsRequest* r, SrsLbRoundRobin* lb)
|
|||
selected_port = port;
|
||||
|
||||
// support vhost tranform for edge,
|
||||
// @see https://github.com/ossrs/srs/issues/372
|
||||
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
|
||||
vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
|
||||
|
||||
|
@ -478,7 +476,6 @@ srs_error_t SrsEdgeForwarder::start()
|
|||
srs_parse_hostport(server, server, port);
|
||||
|
||||
// support vhost tranform for edge,
|
||||
// @see https://github.com/ossrs/srs/issues/372
|
||||
std::string vhost = _srs_config->get_vhost_edge_transform_vhost(req->vhost);
|
||||
vhost = srs_string_replace(vhost, "[vhost]", req->vhost);
|
||||
|
||||
|
@ -759,7 +756,6 @@ srs_error_t SrsPublishEdge::on_client_publish()
|
|||
return srs_error_new(ERROR_RTMP_EDGE_PUBLISH_STATE, "invalid state");
|
||||
}
|
||||
|
||||
// @see https://github.com/ossrs/srs/issues/180
|
||||
// to avoid multiple publish the same stream on the same edge,
|
||||
// directly enter the publish stage.
|
||||
if (true) {
|
||||
|
@ -771,7 +767,6 @@ srs_error_t SrsPublishEdge::on_client_publish()
|
|||
// start to forward stream to origin.
|
||||
err = forwarder->start();
|
||||
|
||||
// @see https://github.com/ossrs/srs/issues/180
|
||||
// when failed, revert to init
|
||||
if (err != srs_success) {
|
||||
SrsEdgeState pstate = state;
|
||||
|
|
|
@ -40,7 +40,6 @@ private:
|
|||
SrsRtmpJitter* jitter;
|
||||
SrsMessageQueue* queue;
|
||||
// Cache the sequence header for retry when slave is failed.
|
||||
// @see https://github.com/ossrs/srs/issues/150
|
||||
SrsSharedPtrMessage* sh_audio;
|
||||
SrsSharedPtrMessage* sh_video;
|
||||
public:
|
||||
|
|
|
@ -153,7 +153,6 @@ private:
|
|||
// The current writing segment.
|
||||
SrsHlsSegment* current;
|
||||
// The ts context, to keep cc continous between ts.
|
||||
// @see https://github.com/ossrs/srs/issues/375
|
||||
SrsTsContext* context;
|
||||
public:
|
||||
SrsHlsMuxer();
|
||||
|
@ -187,7 +186,6 @@ public:
|
|||
virtual bool wait_keyframe();
|
||||
// Whether segment absolutely overflow, for pure audio to reap segment,
|
||||
// that is whether the current segment duration>=2*(the segment in config)
|
||||
// @see https://github.com/ossrs/srs/issues/151#issuecomment-71155184
|
||||
virtual bool is_segment_absolutely_overflow();
|
||||
public:
|
||||
// Whether current hls muxer is pure audio mode.
|
||||
|
|
|
@ -509,7 +509,6 @@ srs_error_t SrsHttpHooks::do_post(SrsHttpClient* hc, std::string url, std::strin
|
|||
}
|
||||
|
||||
// ensure the http status is ok.
|
||||
// https://github.com/ossrs/srs/issues/158
|
||||
if (code != SRS_CONSTS_HTTP_OK && code != SRS_CONSTS_HTTP_Created) {
|
||||
return srs_error_new(ERROR_HTTP_STATUS_INVALID, "http: status %d", code);
|
||||
}
|
||||
|
|
|
@ -928,7 +928,6 @@ srs_error_t SrsHttpStreamServer::http_mount(SrsLiveSource* s, SrsRequest* r)
|
|||
// mount the http flv stream.
|
||||
// we must register the handler, then start the thread,
|
||||
// for the thread will cause thread switch context.
|
||||
// @see https://github.com/ossrs/srs/issues/404
|
||||
if ((err = mux.handle(mount, entry->stream)) != srs_success) {
|
||||
return srs_error_wrap(err, "http: mount flv stream for vhost=%s failed", sid.c_str());
|
||||
}
|
||||
|
|
|
@ -449,7 +449,6 @@ srs_error_t SrsMpegtsOverUdp::write_h264_ipb_frame(char* frame, int frame_size,
|
|||
srs_error_t err = srs_success;
|
||||
|
||||
// when sps or pps not sent, ignore the packet.
|
||||
// @see https://github.com/ossrs/srs/issues/203
|
||||
if (!h264_sps_pps_sent) {
|
||||
return srs_error_new(ERROR_H264_DROP_BEFORE_SPS_PPS, "drop sps/pps");
|
||||
}
|
||||
|
|
|
@ -93,8 +93,6 @@ srs_error_t SrsRecvThread::cycle()
|
|||
// the multiple messages writev improve performance large,
|
||||
// but the timeout recv will cause 33% sys call performance,
|
||||
// to use isolate thread to recv, can improve about 33% performance.
|
||||
// @see https://github.com/ossrs/srs/issues/194
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
rtmp->set_recv_timeout(SRS_UTIME_NO_TIMEOUT);
|
||||
|
||||
pumper->on_start();
|
||||
|
@ -279,7 +277,6 @@ SrsPublishRecvThread::SrsPublishRecvThread(SrsRtmpServer* rtmp_sdk, SrsRequest*
|
|||
mr_fd = mr_sock_fd;
|
||||
|
||||
// the mr settings,
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
mr = _srs_config->get_mr_enabled(req->vhost);
|
||||
mr_sleep = _srs_config->get_mr_sleep(req->vhost);
|
||||
|
||||
|
@ -405,7 +402,6 @@ void SrsPublishRecvThread::interrupt(srs_error_t err)
|
|||
recv_error = srs_error_copy(err);
|
||||
|
||||
// when recv thread error, signal the conn thread to process it.
|
||||
// @see https://github.com/ossrs/srs/issues/244
|
||||
srs_cond_signal(error);
|
||||
}
|
||||
|
||||
|
@ -420,7 +416,6 @@ void SrsPublishRecvThread::on_start()
|
|||
set_socket_buffer(mr_sleep);
|
||||
|
||||
// disable the merge read
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(true, this);
|
||||
}
|
||||
#endif
|
||||
|
@ -432,13 +427,11 @@ void SrsPublishRecvThread::on_stop()
|
|||
// for we donot set to false yet.
|
||||
|
||||
// when thread stop, signal the conn thread which wait.
|
||||
// @see https://github.com/ossrs/srs/issues/244
|
||||
srs_cond_signal(error);
|
||||
|
||||
#ifdef SRS_PERF_MERGED_READ
|
||||
if (mr) {
|
||||
// disable the merge read
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(false, NULL);
|
||||
}
|
||||
#endif
|
||||
|
@ -459,7 +452,6 @@ void SrsPublishRecvThread::on_read(ssize_t nread)
|
|||
* to improve read performance, merge some packets then read,
|
||||
* when it on and read small bytes, we sleep to wait more data.,
|
||||
* that is, we merge some data to read together.
|
||||
* @see https://github.com/ossrs/srs/issues/241
|
||||
*/
|
||||
if (nread < SRS_MR_SMALL_BYTES) {
|
||||
srs_usleep(mr_sleep);
|
||||
|
@ -476,7 +468,6 @@ srs_error_t SrsPublishRecvThread::on_reload_vhost_publish(string vhost)
|
|||
}
|
||||
|
||||
// the mr settings,
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
bool mr_enabled = _srs_config->get_mr_enabled(req->vhost);
|
||||
srs_utime_t sleep_v = _srs_config->get_mr_sleep(req->vhost);
|
||||
|
||||
|
@ -489,13 +480,11 @@ srs_error_t SrsPublishRecvThread::on_reload_vhost_publish(string vhost)
|
|||
// mr enabled=>disabled
|
||||
if (mr && !mr_enabled) {
|
||||
// disable the merge read
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(false, NULL);
|
||||
}
|
||||
// mr disabled=>enabled
|
||||
if (!mr && mr_enabled) {
|
||||
// enable the merge read
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
rtmp->set_merge_read(true, this);
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -75,7 +75,6 @@ private:
|
|||
// when source id changed, notice all consumers
|
||||
bool should_update_source_id;
|
||||
// The cond wait for mw.
|
||||
// @see https://github.com/ossrs/srs/issues/251
|
||||
srs_cond_t mw_wait;
|
||||
bool mw_waiting;
|
||||
int mw_min_msgs;
|
||||
|
|
|
@ -429,7 +429,6 @@ srs_error_t SrsRtmpConn::service_cycle()
|
|||
// logical accept and retry stream service.
|
||||
if (srs_error_code(err) == ERROR_CONTROL_RTMP_CLOSE) {
|
||||
// TODO: FIXME: use ping message to anti-death of socket.
|
||||
// @see: https://github.com/ossrs/srs/issues/39
|
||||
// set timeout to a larger value, for user paused.
|
||||
rtmp->set_recv_timeout(SRS_PAUSED_RECV_TIMEOUT);
|
||||
rtmp->set_send_timeout(SRS_PAUSED_SEND_TIMEOUT);
|
||||
|
@ -670,7 +669,6 @@ srs_error_t SrsRtmpConn::playing(SrsLiveSource* source)
|
|||
}
|
||||
|
||||
// Use receiving thread to receive packets from peer.
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
SrsQueueRecvThread trd(consumer, rtmp, SRS_PERF_MW_SLEEP, _srs_context->get_id());
|
||||
|
||||
if ((err = trd.start()) != srs_success) {
|
||||
|
@ -731,8 +729,6 @@ srs_error_t SrsRtmpConn::do_playing(SrsLiveSource* source, SrsLiveConsumer* cons
|
|||
pprint->elapse();
|
||||
|
||||
// to use isolate thread to recv, can improve about 33% performance.
|
||||
// @see: https://github.com/ossrs/srs/issues/196
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
while (!rtrd->empty()) {
|
||||
SrsCommonMessage* msg = rtrd->pump();
|
||||
if ((err = process_play_control_msg(consumer, msg)) != srs_success) {
|
||||
|
@ -1114,7 +1110,6 @@ srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer* consumer, Srs
|
|||
SrsAutoFree(SrsPacket, pkt);
|
||||
|
||||
// for jwplayer/flowplayer, which send close as pause message.
|
||||
// @see https://github.com/ossrs/srs/issues/6
|
||||
SrsCloseStreamPacket* close = dynamic_cast<SrsCloseStreamPacket*>(pkt);
|
||||
if (close) {
|
||||
return srs_error_new(ERROR_CONTROL_RTMP_CLOSE, "rtmp: close stream");
|
||||
|
@ -1122,7 +1117,6 @@ srs_error_t SrsRtmpConn::process_play_control_msg(SrsLiveConsumer* consumer, Srs
|
|||
|
||||
// call msg,
|
||||
// support response null first,
|
||||
// @see https://github.com/ossrs/srs/issues/106
|
||||
// TODO: FIXME: response in right way, or forward in edge mode.
|
||||
SrsCallPacket* call = dynamic_cast<SrsCallPacket*>(pkt);
|
||||
if (call) {
|
||||
|
|
|
@ -82,7 +82,6 @@ private:
|
|||
ISrsWakable* wakable;
|
||||
// The elapsed duration in srs_utime_t
|
||||
// For live play duration, for instance, rtmpdump to record.
|
||||
// @see https://github.com/ossrs/srs/issues/47
|
||||
srs_utime_t duration;
|
||||
// The MR(merged-write) sleep time in srs_utime_t.
|
||||
srs_utime_t mw_sleep;
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
class SrsConfDirective;
|
||||
|
||||
// The security apply on vhost.
|
||||
// @see https://github.com/ossrs/srs/issues/211
|
||||
class SrsSecurity
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <srs_kernel_mp3.hpp>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <srs_kernel_utility.hpp>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#include <netdb.h>
|
||||
|
@ -120,7 +119,6 @@ srs_utime_t srs_update_system_time()
|
|||
return -1;
|
||||
}
|
||||
|
||||
// @see: https://github.com/ossrs/srs/issues/35
|
||||
// we must convert the tv_sec/tv_usec to int64_t.
|
||||
int64_t now_us = ((int64_t)now.tv_sec) * 1000 * 1000 + (int64_t)now.tv_usec;
|
||||
|
||||
|
@ -140,7 +138,6 @@ srs_utime_t srs_update_system_time()
|
|||
diff = srs_max(0, diff);
|
||||
if (diff < 0 || diff > 1000 * SYS_TIME_RESOLUTION_US) {
|
||||
srs_warn("clock jump, history=%" PRId64 "us, now=%" PRId64 "us, diff=%" PRId64 "us", _srs_system_time_us_cache, now_us, diff);
|
||||
// @see: https://github.com/ossrs/srs/issues/109
|
||||
_srs_system_time_startup_time += diff;
|
||||
}
|
||||
|
||||
|
@ -580,7 +577,6 @@ int srs_do_create_dir_recursively(string dir)
|
|||
}
|
||||
|
||||
// create curren dir.
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifdef _WIN32
|
||||
if (::_mkdir(dir.c_str()) < 0) {
|
||||
#else
|
||||
|
|
|
@ -167,7 +167,6 @@ srs_error_t SrsFastStream::grow(ISrsReader* reader, int required_size)
|
|||
* to improve read performance, merge some packets then read,
|
||||
* when it on and read small bytes, we sleep to wait more data.,
|
||||
* that is, we merge some data to read together.
|
||||
* @see https://github.com/ossrs/srs/issues/241
|
||||
*/
|
||||
if (merged_read && _handler) {
|
||||
_handler->on_read(nread);
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
#include <srs_protocol_utility.hpp>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
@ -345,7 +344,6 @@ srs_error_t srs_write_large_iovs(ISrsProtocolReadWriter* skt, iovec* iovs, int s
|
|||
srs_error_t err = srs_success;
|
||||
|
||||
// the limits of writev iovs.
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
// for linux, generally it's 1024.
|
||||
static int limits = (int)sysconf(_SC_IOV_MAX);
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
|
||||
#include <srs_core.hpp>
|
||||
|
||||
// for srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <sys/uio.h>
|
||||
#endif
|
||||
|
|
|
@ -281,7 +281,6 @@ srs_error_t SrsRawAacStream::adts_demux(SrsBuffer* stream, char** pframe, int* p
|
|||
// decode the ADTS.
|
||||
// @see ISO_IEC_13818-7-AAC-2004.pdf, page 26
|
||||
// 6.2 Audio Data Transport Stream, ADTS
|
||||
// @see https://github.com/ossrs/srs/issues/212#issuecomment-64145885
|
||||
// byte_alignment()
|
||||
|
||||
// adts_fixed_header:
|
||||
|
@ -342,7 +341,7 @@ srs_error_t SrsRawAacStream::adts_demux(SrsBuffer* stream, char** pframe, int* p
|
|||
int8_t channel_configuration = (sfiv >> 6) & 0x07;
|
||||
/*int8_t original = (sfiv >> 5) & 0x01;*/
|
||||
/*int8_t home = (sfiv >> 4) & 0x01;*/
|
||||
//int8_t Emphasis; @remark, Emphasis is removed, @see https://github.com/ossrs/srs/issues/212#issuecomment-64154736
|
||||
//int8_t Emphasis; @remark, Emphasis is removed
|
||||
// 4bits left.
|
||||
// adts_variable_header(), 1.A.2.2.2 Variable Header of ADTS
|
||||
// copyright_identification_bit 1 bslbf
|
||||
|
|
|
@ -571,7 +571,6 @@ namespace srs_internal
|
|||
}
|
||||
|
||||
// directly generate the public key.
|
||||
// @see: https://github.com/ossrs/srs/issues/148
|
||||
int pkey_size = 128;
|
||||
if ((err = dh.copy_shared_key(c1->get_key(), 128, key.key, pkey_size)) != srs_success) {
|
||||
return srs_error_wrap(err, "copy shared key");
|
||||
|
|
|
@ -1036,7 +1036,6 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream* chunk, char fmt)
|
|||
// 0x04 where: message_type=4(protocol control user-control message)
|
||||
// 0x00 0x06 where: event Ping(0x06)
|
||||
// 0x00 0x00 0x0d 0x0f where: event data 4bytes ping timestamp.
|
||||
// @see: https://github.com/ossrs/srs/issues/98
|
||||
if (fmt == RTMP_FMT_TYPE1) {
|
||||
srs_warn("fresh chunk starts with fmt=1");
|
||||
} else {
|
||||
|
@ -1175,7 +1174,6 @@ srs_error_t SrsProtocol::read_message_header(SrsChunkStream* chunk, char fmt)
|
|||
pp[0] = *p++;
|
||||
|
||||
// always use 31bits timestamp, for some server may use 32bits extended timestamp.
|
||||
// @see https://github.com/ossrs/srs/issues/111
|
||||
timestamp &= 0x7fffffff;
|
||||
|
||||
/**
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
// For srs-librtmp, @see https://github.com/ossrs/srs/issues/213
|
||||
#ifndef _WIN32
|
||||
#include <sys/uio.h>
|
||||
#endif
|
||||
|
@ -161,7 +160,6 @@ private:
|
|||
std::map<int, SrsChunkStream*> chunk_streams;
|
||||
// Cache some frequently used chunk header.
|
||||
// cs_cache, the chunk stream cache.
|
||||
// @see https://github.com/ossrs/srs/issues/249
|
||||
SrsChunkStream** cs_cache;
|
||||
// The bytes buffer cache, recv from skt, provide services for stream.
|
||||
SrsFastStream* in_buffer;
|
||||
|
@ -179,7 +177,6 @@ private:
|
|||
bool show_debug_info;
|
||||
// Whether auto response when recv messages.
|
||||
// default to true for it's very easy to use the protocol stack.
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
bool auto_response_when_recv;
|
||||
// When not auto response message, manual flush the messages in queue.
|
||||
std::vector<SrsPacket*> manual_response_queue;
|
||||
|
@ -208,7 +205,6 @@ public:
|
|||
public:
|
||||
// Set the auto response message when recv for protocol stack.
|
||||
// @param v, whether auto response message when recv message.
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
virtual void set_auto_response(bool v);
|
||||
// Flush for manual response when the auto response is disabled
|
||||
// by set_auto_response(false), we default use auto response, so donot
|
||||
|
@ -222,13 +218,11 @@ public:
|
|||
// that is, we merge some data to read together.
|
||||
// @param v true to ename merged read.
|
||||
// @param handler the handler when merge read is enabled.
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
virtual void set_merge_read(bool v, IMergeReadHandler* handler);
|
||||
// Create buffer with specifeid size.
|
||||
// @param buffer the size of buffer.
|
||||
// @remark when MR(SRS_PERF_MERGED_READ) disabled, always set to 8K.
|
||||
// @remark when buffer changed, the previous ptr maybe invalid.
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
virtual void set_recv_buffer(int buffer_size);
|
||||
#endif
|
||||
public:
|
||||
|
@ -429,7 +423,6 @@ public:
|
|||
std::string stream;
|
||||
// For play live stream,
|
||||
// used to specified the stop when exceed the duration.
|
||||
// @see https://github.com/ossrs/srs/issues/45
|
||||
// in srs_utime_t.
|
||||
srs_utime_t duration;
|
||||
// The token in the connect request,
|
||||
|
@ -614,7 +607,6 @@ public:
|
|||
public:
|
||||
// Set the auto response message when recv for protocol stack.
|
||||
// @param v, whether auto response message when recv message.
|
||||
// @see: https://github.com/ossrs/srs/issues/217
|
||||
virtual void set_auto_response(bool v);
|
||||
#ifdef SRS_PERF_MERGED_READ
|
||||
// To improve read performance, merge some packets then read,
|
||||
|
@ -622,13 +614,11 @@ public:
|
|||
// that is, we merge some data to read together.
|
||||
// @param v true to ename merged read.
|
||||
// @param handler the handler when merge read is enabled.
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
virtual void set_merge_read(bool v, IMergeReadHandler* handler);
|
||||
// Create buffer with specifeid size.
|
||||
// @param buffer the size of buffer.
|
||||
// @remark when MR(SRS_PERF_MERGED_READ) disabled, always set to 8K.
|
||||
// @remark when buffer changed, the previous ptr maybe invalid.
|
||||
// @see https://github.com/ossrs/srs/issues/241
|
||||
virtual void set_recv_buffer(int buffer_size);
|
||||
#endif
|
||||
// To set/get the recv timeout in srs_utime_t.
|
||||
|
@ -669,7 +659,6 @@ public:
|
|||
// @param stream_id, the stream id of packet to send over, 0 for control message.
|
||||
//
|
||||
// @remark performance issue, to support 6k+ 250kbps client,
|
||||
// @see https://github.com/ossrs/srs/issues/194
|
||||
virtual srs_error_t send_and_free_messages(SrsSharedPtrMessage** msgs, int nb_msgs, int stream_id);
|
||||
// Send the RTMP packet and always free it.
|
||||
// user must never free or use the packet after this method,
|
||||
|
@ -1330,11 +1319,9 @@ public:
|
|||
// Name of command. Set to "|RtmpSampleAccess".
|
||||
std::string command_name;
|
||||
// Whether allow access the sample of video.
|
||||
// @see: https://github.com/ossrs/srs/issues/49
|
||||
// @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#videoSampleAccess
|
||||
bool video_sample_access;
|
||||
// Whether allow access the sample of audio.
|
||||
// @see: https://github.com/ossrs/srs/issues/49
|
||||
// @see: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#audioSampleAccess
|
||||
bool audio_sample_access;
|
||||
public:
|
||||
|
|
|
@ -97,7 +97,6 @@ srs_error_t SrsBasicRtmpClient::do_connect_app(string local_ip, bool debug)
|
|||
}
|
||||
|
||||
// notify server the edge identity,
|
||||
// @see https://github.com/ossrs/srs/issues/147
|
||||
SrsAmf0Object* data = req->args;
|
||||
data->set("srs_sig", SrsAmf0Any::str(RTMP_SIG_SRS_KEY));
|
||||
data->set("srs_server", SrsAmf0Any::str(RTMP_SIG_SRS_SERVER));
|
||||
|
@ -121,7 +120,6 @@ srs_error_t SrsBasicRtmpClient::do_connect_app(string local_ip, bool debug)
|
|||
req->tcUrl = tc_url;
|
||||
|
||||
// upnode server identity will show in the connect_app of client.
|
||||
// @see https://github.com/ossrs/srs/issues/160
|
||||
// the debug_srs_upnode is config in vhost and default to true.
|
||||
SrsServerInfo si;
|
||||
if ((err = client->connect_app(req->app, tc_url, req, debug, &si)) != srs_success) {
|
||||
|
|
|
@ -41,7 +41,6 @@ srs_error_t srs_st_init()
|
|||
{
|
||||
#ifdef __linux__
|
||||
// check epoll, some old linux donot support epoll.
|
||||
// @see https://github.com/ossrs/srs/issues/162
|
||||
if (!srs_st_epoll_is_supported()) {
|
||||
return srs_error_new(ERROR_ST_SET_EPOLL, "linux epoll disabled");
|
||||
}
|
||||
|
@ -495,7 +494,6 @@ srs_error_t SrsStSocket::read(void* buf, size_t size, ssize_t* nread)
|
|||
// (a value of 0 means the network connection is closed or end of file is reached).
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_read <= 0) {
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_read < 0 && errno == ETIME) {
|
||||
return srs_error_new(ERROR_SOCKET_TIMEOUT, "timeout %d ms", srsu2msi(rtm));
|
||||
}
|
||||
|
@ -531,7 +529,6 @@ srs_error_t SrsStSocket::read_fully(void* buf, size_t size, ssize_t* nread)
|
|||
// (a value less than nbyte means the network connection is closed or end of file is reached)
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_read != (ssize_t)size) {
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_read < 0 && errno == ETIME) {
|
||||
return srs_error_new(ERROR_SOCKET_TIMEOUT, "timeout %d ms", srsu2msi(rtm));
|
||||
}
|
||||
|
@ -566,7 +563,6 @@ srs_error_t SrsStSocket::write(void* buf, size_t size, ssize_t* nwrite)
|
|||
// On success a non-negative integer equal to nbyte is returned.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_write <= 0) {
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_write < 0 && errno == ETIME) {
|
||||
return srs_error_new(ERROR_SOCKET_TIMEOUT, "write timeout %d ms", srsu2msi(stm));
|
||||
}
|
||||
|
@ -597,7 +593,6 @@ srs_error_t SrsStSocket::writev(const iovec *iov, int iov_size, ssize_t* nwrite)
|
|||
// On success a non-negative integer equal to nbyte is returned.
|
||||
// Otherwise, a value of -1 is returned and errno is set to indicate the error.
|
||||
if (nb_write <= 0) {
|
||||
// @see https://github.com/ossrs/srs/issues/200
|
||||
if (nb_write < 0 && errno == ETIME) {
|
||||
return srs_error_new(ERROR_SOCKET_TIMEOUT, "writev timeout %d ms", srsu2msi(stm));
|
||||
}
|
||||
|
|
|
@ -727,7 +727,6 @@ VOID TEST(ProtocolStackTest, ProtocolRecvMessage)
|
|||
// 0x04 where: message_type=4(protocol control user-control message)
|
||||
// 0x00 0x06 where: event Ping(0x06)
|
||||
// 0x00 0x00 0x0d 0x0f where: event data 4bytes ping timestamp.
|
||||
// @see: https://github.com/ossrs/srs/issues/98
|
||||
VOID TEST(ProtocolStackTest, ProtocolRecvMessageBug98)
|
||||
{
|
||||
MockBufferIO bio;
|
||||
|
@ -3824,7 +3823,6 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2)
|
|||
* always use 31bits timestamp.
|
||||
*/
|
||||
// always use 31bits timestamp, for some server may use 32bits extended timestamp.
|
||||
// @see https://github.com/ossrs/srs/issues/111
|
||||
VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3)
|
||||
{
|
||||
MockBufferIO bio;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue