|
|
@ -1627,7 +1627,7 @@ static void compute_stats(HTTPContext *c) |
|
|
|
strcpy(eosf - 4, ".asx"); |
|
|
|
strcpy(eosf - 4, ".asx"); |
|
|
|
else if (strcmp(eosf - 3, ".rm") == 0) |
|
|
|
else if (strcmp(eosf - 3, ".rm") == 0) |
|
|
|
strcpy(eosf - 3, ".ram"); |
|
|
|
strcpy(eosf - 3, ".ram"); |
|
|
|
else if (stream->fmt == &rtp_muxer) { |
|
|
|
else if (!strcmp(stream->fmt->name, "rtp")) { |
|
|
|
/* generate a sample RTSP director if
|
|
|
|
/* generate a sample RTSP director if
|
|
|
|
unicast. Generate an SDP redirector if |
|
|
|
unicast. Generate an SDP redirector if |
|
|
|
multicast */ |
|
|
|
multicast */ |
|
|
@ -2683,7 +2683,7 @@ static void rtsp_cmd_describe(HTTPContext *c, const char *url) |
|
|
|
path++; |
|
|
|
path++; |
|
|
|
|
|
|
|
|
|
|
|
for(stream = first_stream; stream != NULL; stream = stream->next) { |
|
|
|
for(stream = first_stream; stream != NULL; stream = stream->next) { |
|
|
|
if (!stream->is_feed && stream->fmt == &rtp_muxer && |
|
|
|
if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp") && |
|
|
|
!strcmp(path, stream->filename)) { |
|
|
|
!strcmp(path, stream->filename)) { |
|
|
|
goto found; |
|
|
|
goto found; |
|
|
|
} |
|
|
|
} |
|
|
@ -2758,7 +2758,7 @@ static void rtsp_cmd_setup(HTTPContext *c, const char *url, |
|
|
|
|
|
|
|
|
|
|
|
/* now check each stream */ |
|
|
|
/* now check each stream */ |
|
|
|
for(stream = first_stream; stream != NULL; stream = stream->next) { |
|
|
|
for(stream = first_stream; stream != NULL; stream = stream->next) { |
|
|
|
if (!stream->is_feed && stream->fmt == &rtp_muxer) { |
|
|
|
if (!stream->is_feed && !strcmp(stream->fmt->name, "rtp")) { |
|
|
|
/* accept aggregate filenames only if single stream */ |
|
|
|
/* accept aggregate filenames only if single stream */ |
|
|
|
if (!strcmp(path, stream->filename)) { |
|
|
|
if (!strcmp(path, stream->filename)) { |
|
|
|
if (stream->nb_streams != 1) { |
|
|
|
if (stream->nb_streams != 1) { |
|
|
@ -3076,7 +3076,7 @@ static int rtp_new_av_stream(HTTPContext *c, |
|
|
|
ctx = av_alloc_format_context(); |
|
|
|
ctx = av_alloc_format_context(); |
|
|
|
if (!ctx) |
|
|
|
if (!ctx) |
|
|
|
return -1; |
|
|
|
return -1; |
|
|
|
ctx->oformat = &rtp_muxer; |
|
|
|
ctx->oformat = guess_format("rtp", NULL, NULL); |
|
|
|
|
|
|
|
|
|
|
|
st = av_mallocz(sizeof(AVStream)); |
|
|
|
st = av_mallocz(sizeof(AVStream)); |
|
|
|
if (!st) |
|
|
|
if (!st) |
|
|
@ -3295,7 +3295,7 @@ static void build_file_streams(void) |
|
|
|
/* try to open the file */ |
|
|
|
/* try to open the file */ |
|
|
|
/* open stream */ |
|
|
|
/* open stream */ |
|
|
|
stream->ap_in = av_mallocz(sizeof(AVFormatParameters)); |
|
|
|
stream->ap_in = av_mallocz(sizeof(AVFormatParameters)); |
|
|
|
if (stream->fmt == &rtp_muxer) { |
|
|
|
if (!strcmp(stream->fmt->name, "rtp")) { |
|
|
|
/* specific case : if transport stream output to RTP,
|
|
|
|
/* specific case : if transport stream output to RTP,
|
|
|
|
we use a raw transport stream reader */ |
|
|
|
we use a raw transport stream reader */ |
|
|
|
stream->ap_in->mpeg2ts_raw = 1; |
|
|
|
stream->ap_in->mpeg2ts_raw = 1; |
|
|
|