diff --git a/README.md b/README.md index 75db5dc74..f5bb08979 100755 --- a/README.md +++ b/README.md @@ -204,6 +204,7 @@ Please select your language: ### V2 changes +* v2.0, 2017-01-11, fix [#740][bug #740], convert ts aac audio private stream 1 to common. 2.0.229 * v2.0, 2017-01-11, fix [#588][bug #588], kbps interface error. 2.0.228 * v2.0, 2017-01-11, fix [#736][bug #736], recovery the hls dispose. 2.0.227 * v2.0, 2017-01-10, refine hls html5 video template. @@ -1360,6 +1361,7 @@ Winlin [bug #635]: https://github.com/ossrs/srs/issues/635 [bug #736]: https://github.com/ossrs/srs/issues/736 [bug #588]: https://github.com/ossrs/srs/issues/588 +[bug #740]: https://github.com/ossrs/srs/issues/740 [bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx [bug #735]: https://github.com/ossrs/srs/issues/735 [bug #xxxxxxxxxx]: https://github.com/ossrs/srs/issues/xxxxxxxxxx diff --git a/trunk/src/app/srs_app_mpegts_udp.cpp b/trunk/src/app/srs_app_mpegts_udp.cpp index 2e7801803..acdbe4843 100644 --- a/trunk/src/app/srs_app_mpegts_udp.cpp +++ b/trunk/src/app/srs_app_mpegts_udp.cpp @@ -299,6 +299,12 @@ int SrsMpegtsOverUdp::on_ts_message(SrsTsMessage* msg) msg->dts, msg->pts, msg->payload->length(), msg->packet->payload_unit_start_indicator, msg->continuity_counter, msg->sid, msg->is_audio()? "A":msg->is_video()? "V":"N", msg->stream_number()); } + + // When the audio SID is private stream 1, we use common audio. + // @see https://github.com/ossrs/srs/issues/740 + if (msg->channel->apply == SrsTsPidApplyAudio && msg->sid == SrsTsPESStreamIdPrivateStream1) { + msg->sid = SrsTsPESStreamIdAudioCommon; + } // when not audio/video, or not adts/annexb format, donot support. if (msg->stream_number() != 0) { diff --git a/trunk/src/main/srs_main_ingest_hls.cpp b/trunk/src/main/srs_main_ingest_hls.cpp index fd1d592ba..46dc75443 100644 --- a/trunk/src/main/srs_main_ingest_hls.cpp +++ b/trunk/src/main/srs_main_ingest_hls.cpp @@ -750,6 +750,12 @@ int SrsIngestSrsOutput::on_ts_message(SrsTsMessage* msg) msg->dts, msg->pts, msg->payload->length(), msg->packet->payload_unit_start_indicator, msg->continuity_counter, msg->sid, msg->is_audio()? "A":msg->is_video()? "V":"N", msg->stream_number()); + // When the audio SID is private stream 1, we use common audio. + // @see https://github.com/ossrs/srs/issues/740 + if (msg->channel->apply == SrsTsPidApplyAudio && msg->sid == SrsTsPESStreamIdPrivateStream1) { + msg->sid = SrsTsPESStreamIdAudioCommon; + } + // when not audio/video, or not adts/annexb format, donot support. if (msg->stream_number() != 0) { ret = ERROR_STREAM_CASTER_TS_ES;