Changed Group Name Fallback
If no hls group name is given, we would default to "audio" but as we are working to support text, this won't make sense to see GROUP="audio" on a text stream. Instead default to "default-audio-group" for audio streams. A specific text default will be added later. Bug: #205 Change-Id: Iefc8bfd35708286619d0004348294d98f2c38482
This commit is contained in:
parent
1731fef14d
commit
44847a0737
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1242703,CODECS="avc1.64001e,ac-3",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1242703,CODECS="avc1.64001e,ac-3",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video.m3u8
|
video.m3u8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1168277,CODECS="avc1.64001e,ac-3",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1168277,CODECS="avc1.64001e,ac-3",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video.m3u8
|
video.m3u8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1217518,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video.m3u8
|
video.m3u8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1111340,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1111340,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video.m3u8
|
video.m3u8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio/audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio/audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1105163,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1105163,CODECS="avc1.64001e,mp4a.40.2",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video/video.m3u8
|
video/video.m3u8
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#EXTM3U
|
#EXTM3U
|
||||||
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
## Generated with https://github.com/google/shaka-packager version <tag>-<hash>-<test>
|
||||||
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="audio",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio.m3u8",GROUP-ID="default-audio-group",NAME="stream_0",AUTOSELECT=YES,CHANNELS="2"
|
||||||
#EXT-X-STREAM-INF:BANDWIDTH=1174135,CODECS="avc1.64001e,ec-3",RESOLUTION=640x360,AUDIO="audio"
|
#EXT-X-STREAM-INF:BANDWIDTH=1174135,CODECS="avc1.64001e,ec-3",RESOLUTION=640x360,AUDIO="default-audio-group"
|
||||||
video.m3u8
|
video.m3u8
|
||||||
|
|
|
@ -20,8 +20,9 @@
|
||||||
|
|
||||||
namespace shaka {
|
namespace shaka {
|
||||||
namespace hls {
|
namespace hls {
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
const char* kDefaultAudioGroupId = "default-audio-group";
|
||||||
|
|
||||||
struct Variant {
|
struct Variant {
|
||||||
std::string audio_codec;
|
std::string audio_codec;
|
||||||
const std::string* audio_group_id = nullptr;
|
const std::string* audio_group_id = nullptr;
|
||||||
|
@ -64,6 +65,13 @@ std::list<Variant> AudioGroupsToVariants(
|
||||||
return variants;
|
return variants;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* GetGroupId(const MediaPlaylist& playlist) {
|
||||||
|
// TODO(vaage): Add support to get a subtitle group id when text support
|
||||||
|
// is added.
|
||||||
|
const std::string& group_id = playlist.group_id();
|
||||||
|
return group_id.empty() ? kDefaultAudioGroupId : group_id.c_str();
|
||||||
|
}
|
||||||
|
|
||||||
void BuildAudioTag(const std::string& base_url,
|
void BuildAudioTag(const std::string& base_url,
|
||||||
const std::string& group_id,
|
const std::string& group_id,
|
||||||
const MediaPlaylist& audio_playlist,
|
const MediaPlaylist& audio_playlist,
|
||||||
|
@ -136,7 +144,7 @@ void MasterPlaylist::AddMediaPlaylist(MediaPlaylist* media_playlist) {
|
||||||
DCHECK(media_playlist);
|
DCHECK(media_playlist);
|
||||||
switch (media_playlist->stream_type()) {
|
switch (media_playlist->stream_type()) {
|
||||||
case MediaPlaylist::MediaPlaylistStreamType::kAudio: {
|
case MediaPlaylist::MediaPlaylistStreamType::kAudio: {
|
||||||
const std::string& group_id = media_playlist->group_id();
|
std::string group_id = GetGroupId(*media_playlist);
|
||||||
audio_playlist_groups_[group_id].push_back(media_playlist);
|
audio_playlist_groups_[group_id].push_back(media_playlist);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,16 +44,10 @@ std::unique_ptr<MuxerListener> CreateHlsListenerInternal(
|
||||||
DCHECK(notifier);
|
DCHECK(notifier);
|
||||||
DCHECK_GE(stream_index, 0);
|
DCHECK_GE(stream_index, 0);
|
||||||
|
|
||||||
// TODO(rkuroiwa): Do some smart stuff to group the audios, e.g. detect
|
|
||||||
// languages.
|
|
||||||
std::string group_id = stream.hls_group_id;
|
std::string group_id = stream.hls_group_id;
|
||||||
std::string name = stream.hls_name;
|
std::string name = stream.hls_name;
|
||||||
std::string hls_playlist_name = stream.hls_playlist_name;
|
std::string hls_playlist_name = stream.hls_playlist_name;
|
||||||
|
|
||||||
if (group_id.empty()) {
|
|
||||||
group_id = "audio";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name.empty()) {
|
if (name.empty()) {
|
||||||
name = base::StringPrintf("stream_%d", stream_index);
|
name = base::StringPrintf("stream_%d", stream_index);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue