X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Frtp%2Frtp.c;fp=modules%2Faccess%2Frtp%2Frtp.c;h=c896270c0f09f3ec8e3c65354989c4002c814d22;hb=314d91aaf1fcd5807caf3be7ab2c7da78751f837;hp=32e13b3c109fe04a8f036e480faebc457d284037;hpb=98dede2c4cb2a8283290147606c257f9d37145f5;p=vlc diff --git a/modules/access/rtp/rtp.c b/modules/access/rtp/rtp.c old mode 100644 new mode 100755 index 32e13b3c10..c896270c0f --- a/modules/access/rtp/rtp.c +++ b/modules/access/rtp/rtp.c @@ -431,7 +431,6 @@ static void codec_decode (demux_t *demux, void *data, block_t *block) block_Release (block); } - static void *stream_init (demux_t *demux, const char *name) { return stream_DemuxNew (demux, name, demux->out); @@ -454,6 +453,11 @@ static void stream_decode (demux_t *demux, void *data, block_t *block) (void)demux; } +static void *demux_init (demux_t *demux) +{ + return stream_init (demux, demux->psz_demux); +} + /* * Static payload types handler */ @@ -679,7 +683,22 @@ int rtp_autodetect (demux_t *demux, rtp_session_t *session, break; default: - return -1; + /* + * If the rtp payload type is unknown then check demux if it is specified + */ + if ((strcmp(demux->psz_demux, "h264") == 0) || (strcmp(demux->psz_demux, "ts") == 0)) + { + msg_Dbg (demux, "rtp autodetect specified demux=%s", demux->psz_demux); + pt.init = demux_init; + pt.destroy = stream_destroy; + pt.decode = stream_decode; + pt.frequency = 90000; + break; + } + else + { + return -1; + } } rtp_add_type (demux, session, &pt); return 0;