Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ttml from teletext and scte35 #272

Closed
kuznetcoff777 opened this issue Sep 20, 2017 · 18 comments · Fixed by #1344
Closed

ttml from teletext and scte35 #272

kuznetcoff777 opened this issue Sep 20, 2017 · 18 comments · Fixed by #1344
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request

Comments

@kuznetcoff777
Copy link

kuznetcoff777 commented Sep 20, 2017

System info

Operating System: <e.g. macOS Sierra, Ubuntu 14.04 trusty etc>centos7
Shaka Packager Version: <e.g. v1.6.1, commit SHA etc>9c861d0-release

Issue and steps to reproduce the problem

Packager Command:
packager 'input=udp://233.1.1.1:20001?interface=172.17.0.2,stream=audio,init_segment=live-audio-init.mp4,segment_template=live-audio-$Number$.mp4,bandwidth=96000' 'input=udp://233.1.1.1:20001?interface=172.17.0.2,stream=video,init_segment=live-video-ld-init.mp4,segment_template=live-video-ld-$Number$.mp4,bandwidth=350000' 'input=udp://233.1.1.1:20002?interface=172.17.0.2,stream=video,init_segment=live-video-sd-init.mp4,segment_template=live-video-sd-$Number$.mp4,bandwidth=650000' 'input=udp://233.1.1.1:20003?interface=172.17.0.2,stream=video,init_segment=live-video-hd-init.mp4,segment_template=live-video-hd-$Number$.mp4,bandwidth=950000' --min_buffer_time 10 --minimum_update_period 10 --time_shift_buffer_depth 1200 --suggested_presentation_delay 20 --mpd_output live.mpd

Extra steps to reproduce the problem?
(1)
(2)

What is the expected result?

What happens instead?

<Please attach the input files or email to shaka-packager-issues@google.com.>

Just want to know if there is teletext and scte35 in udp mcast, if it is possible to get ttml/stpp (subtitle) on output and scte35 markers in mpd file? I found this issue #23, so i suppose there is must be ttml support, but did not find how to do it from udp signal.

@kuznetcoff777
Copy link
Author

Found in 1.3.0 version:
"Added Subtitle support for On-Demand: allowing subtitle inputs in webvtt or ttml. Support for subtitle inputs in media files will be added later."

So i suppose there is no support for live udp teteltext -> dash ttml. And also i found nothing about scte35 markers. So i suppose all i listed is not supported, am i right? If so, are you going to make support for this and if yes, then when?

@kqyang
Copy link
Contributor

kqyang commented Sep 20, 2017

That is not on our road map right now. We don't have much knowledge on how text/subtitle is carried in a udp mcast stream. We will probably need some help here. If you have any documentations on teletext/subtitle or sample contents, we'll be happy to look into it some time.

@kuznetcoff777
Copy link
Author

I suppose i can provide sample ts file soon.
What about scte35?

@kqyang
Copy link
Contributor

kqyang commented Sep 21, 2017

We are looking into scte35. I hope it can be supported in Q4 or Q1 2018, but no guarantees right now.

@kuznetcoff777
Copy link
Author

How this guys do scte35, some script inserts scte in mpd? (in mpd there is noticed v1.5.1-c540e5a-release)

https://ctc-live.webcaster.pro/dash/live.mpd

Here is example of scte35:

<?xml version="1.0" encoding="UTF-8"?>
<!--Generated with https://github.com/google/shaka-packager version v1.5.1-c540e5a-release-->
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns:cenc="urn:mpeg:cenc:2013" xmlns:scte35="urn:scte:scte35:2014:xml" minBufferTime="PT2S" type="dynamic" profiles="urn:mpeg:dash:profile:isoff-live:2011" publishTime="2017-09-22T06:42:43Z" availabilityStartTime="2017-09-20T20:19:56Z" minimumUpdatePeriod="PT2S" timeShiftBufferDepth="PT36S">
  <BaseURL>https://ctc.megacdn.ru/ctc/</BaseURL>
  <Period id="0" start="PT0S">
    <EventStream schemeIdUri="urn:scte:scte35:2014:xml" timescale="90000">
      <Event id="225" presentationTime="11137346943" duration="5400000">
        <scte35:SpliceInfoSection scte35:ptsAdjustment="0" scte35:protocolVersion="0" scte35:tier="4095">
          <scte35:SpliceInsert scte35:spliceEventId="1073742793" scte35:spliceEventCancelIndicator="false" scte35:outOfNetworkIndicator="true" scte35:uniqueProgramId="1" scte35:availNum="8" scte35:availsExpected="255">
            <scte35:Program>
              <scte35:SpliceTime scte35:ptsTime="2547412351"/>
            </scte35:Program>
            <BreakDuration scte35:autoReturn="false" scte35:duration="5400000"/>
          </scte35:SpliceInsert>
          <scte35:AcatilDescriptor scte35:ProviderAvailId="8"/>
        </scte35:SpliceInfoSection>
      </Event>
    </EventStream>
    <AdaptationSet id="0" contentType="audio" segmentAlignment="true">
      <Representation id="0" bandwidth="133664" codecs="mp4a.40.2" mimeType="audio/mp4" audioSamplingRate="44100">
        <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
        <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="1ac5d70b-b9d8-5d4b-86e2-d6f248a63301"/>
        <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
          <cenc:pssh>AAAAfHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFwSEJZFCOgj9ly4lYkfEtXnMXISECOwW3Ovb1RVu7OAYZpwoe8SEBrF1wu52F1LhuLW8kimMwEaEWludmVudG9zd2ViY2FzdGVyIgtjaGFubmVsX2N0Y0jj3JWbBg==</cenc:pssh>
        </ContentProtection>
        <SegmentTemplate timescale="90000" initialization="audio/a_b128000/1505961935_live-audio.mp4?cachetype=live" media="audio/a_b128000/1505961935_live-audio-$Number$.mp4?cachetype=live" startNumber="25038">
          <SegmentTimeline>
            <S t="11136749877" d="361523"/>
            <S t="11137111412" d="361522"/>
            <S t="11137472946" d="361521"/>
            <S t="11137834481" d="361522"/>
            <S t="11138196016" d="361521"/>
            <S t="11138557550" d="361523"/>
            <S t="11138919085" d="361522"/>
            <S t="11139280620" d="361522"/>
            <S t="11139642155" d="361521"/>
            <S t="11140003689" d="361523"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
    </AdaptationSet>
    <AdaptationSet id="1" contentType="video" maxWidth="1024" maxHeight="740" frameRate="90000/3600">
      <Representation id="1" bandwidth="751191" codecs="avc1.4d001e" mimeType="video/mp4" sar="1:1" width="640" height="462">
        <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="964508e8-23f6-5cb8-9589-1f12d5e73172"/>
        <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
          <cenc:pssh>AAAAfHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFwSEJZFCOgj9ly4lYkfEtXnMXISECOwW3Ovb1RVu7OAYZpwoe8SEBrF1wu52F1LhuLW8kimMwEaEWludmVudG9zd2ViY2FzdGVyIgtjaGFubmVsX2N0Y0jj3JWbBg==</cenc:pssh>
        </ContentProtection>
        <SegmentTemplate timescale="90000" initialization="video/v_360p/1505961935_live-video.mp4?cachetype=live" media="video/v_360p/1505961935_live-video-$Number$.mp4?cachetype=live" startNumber="25147">
          <SegmentTimeline>
            <S t="11136853743" d="360000" r="9"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
      <Representation id="2" bandwidth="401953" codecs="avc1.42001e" mimeType="video/mp4" sar="1:1" width="416" height="308">
        <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="964508e8-23f6-5cb8-9589-1f12d5e73172"/>
        <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
          <cenc:pssh>AAAAfHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFwSEJZFCOgj9ly4lYkfEtXnMXISECOwW3Ovb1RVu7OAYZpwoe8SEBrF1wu52F1LhuLW8kimMwEaEWludmVudG9zd2ViY2FzdGVyIgtjaGFubmVsX2N0Y0jj3JWbBg==</cenc:pssh>
        </ContentProtection>
        <SegmentTemplate timescale="90000" initialization="video/v_240p/1505961935_live-video.mp4?cachetype=live" media="video/v_240p/1505961935_live-video-$Number$.mp4?cachetype=live" startNumber="25146">
          <SegmentTimeline>
            <S t="11136853743" d="360000" r="9"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
      <Representation id="3" bandwidth="1499506" codecs="avc1.4d001f" mimeType="video/mp4" sar="1:1" width="1024" height="740">
        <ContentProtection value="cenc" schemeIdUri="urn:mpeg:dash:mp4protection:2011" cenc:default_KID="23b05b73-af6f-5455-bbb3-80619a70a1ef"/>
        <ContentProtection schemeIdUri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
          <cenc:pssh>AAAAfHBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAAFwSEJZFCOgj9ly4lYkfEtXnMXISECOwW3Ovb1RVu7OAYZpwoe8SEBrF1wu52F1LhuLW8kimMwEaEWludmVudG9zd2ViY2FzdGVyIgtjaGFubmVsX2N0Y0jj3JWbBg==</cenc:pssh>
        </ContentProtection>
        <SegmentTemplate timescale="90000" initialization="video/v_576p/1505961935_live-video.mp4?cachetype=live" media="video/v_576p/1505961935_live-video-$Number$.mp4?cachetype=live" startNumber="25145">
          <SegmentTimeline>
            <S t="11136853743" d="360000" r="9"/>
          </SegmentTimeline>
        </SegmentTemplate>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>



@kqyang
Copy link
Contributor

kqyang commented Sep 22, 2017

I have no idea. Looks like it is inserted by an external script. I hope they can tell us how they did it. We welcome contributions!

@kuznetcoff777
Copy link
Author

Sent to gmail links for files with scte35 markers and subtitles.

@kqyang
Copy link
Contributor

kqyang commented Sep 25, 2017

Cool. Thanks!

@vaage
Copy link
Contributor

vaage commented Mar 2, 2018

@kuznetcoff777 @kqyang , is this still an active issue?

@vaage vaage added the status: waiting on response Waiting on a response from the reporter(s) of the issue label Mar 2, 2018
@kqyang
Copy link
Contributor

kqyang commented Mar 2, 2018

Yes, we should look into it next quarter. Added it to backlog for now.

@kqyang kqyang added this to the Backlog milestone Mar 2, 2018
@kqyang kqyang added type: enhancement New feature or request and removed Needs Triage status: waiting on response Waiting on a response from the reporter(s) of the issue labels Mar 2, 2018
@ghost
Copy link

ghost commented Mar 23, 2018

just curious about this. When it's ready ? Thanks,
Tam

@kqyang
Copy link
Contributor

kqyang commented Mar 23, 2018

@delgemoon I hope we'll have some time next quarter to work on it if not later.

@TheModMaker
Copy link
Contributor

A quick update, we haven't made much/any progress on working on this, but #832 is nearly done and much of the content using DVB is using DVB-SUB and will be supported in #832. We also already support TTML output (not input), which will help with this issue. Also, the SCTE-35 part will be tracked in #352 instead, this will track just handling teletext subtitles.

To whoever implements this, I think the teletext spec is ETS 300 706 and will be wrapped in MP2TS by ETSI EN 301 775. There is a small sample asset at https://trac.ffmpeg.org/ticket/5067.

@Canta
Copy link
Contributor

Canta commented Jan 27, 2021

Careful, as there seems to be different "teletext" specs.

One of them is the one linked before, ETS 300 706.
The other one, which seems to be the one implemented in ffmpeg, is ETS 300 472, known as "dvb teletext".

@aleek
Copy link

aleek commented Feb 18, 2021

@Canta ETS 300 472 specyfies carriage of ETS 300 706 packets in dvb PES packets.

@Nixon197
Copy link

Hi

did you make any progress in the implementation of Teletext subtitles?

BR

@ghyzo
Copy link

ghyzo commented Dec 16, 2021 via email

@tobbee
Copy link
Contributor

tobbee commented Jan 24, 2023

Hi all and an extra ping to @joeyparrish,

Eyevinn Technology, together with CIRES21, is working on an implementation of EBU teletext in MPEG-2 input for Shaka-packager, following the ETSI specifications (ETSI 300 706, 300 468 and 300 472).

The main specification 300 706 has different levels and complexities, so as a first step we intend to implement Level 1 with

  • text extraction with timing, new-lines and character set for standard latin and Portuguese/Spanish national symbols
  • specification of what teletext page to extract using the cc_index configuration

Further things that could be implemented are

  • distinction between captions and subtitles
  • row numbers (1-24)
  • alignment heuristics
  • more character sets
  • colors and other styling
  • more configuration parameters if needed

Extraction from MPEG-2 TS input is similar to what is done for DVB subtitles, and we aim to reuse the current text output options. We think that we are on a good track, but if there are special aspects to take into considerations, it would be good to learn about them?

joeyparrish pushed a commit that referenced this issue Feb 23, 2024
Replaces #1181

* Add support for EBU Teletext input following Level 1.5 of the core
specification ETSI EN 300 706 V1.2.1 (2003-04).
* Add support for webvtt in MP4 segments output.

Closes #272

---------

Co-authored-by: Marcus Spangenberg <marcus.spangenberg@eyevinn.se>
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Apr 24, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 24, 2024
@cosmin cosmin removed this from the Backlog milestone May 12, 2024
SteveR-PMP added a commit to SteveR-PMP/shaka-packager that referenced this issue Aug 28, 2024
* fix: http_file: Close upload cache on task exit (shaka-project#1348)

In some cases it can happen that the http server responds with a
non-successful status code without reading the response body. In this
case curl may decide not to read from the cache since there is really no
point in sending data to the server. In case some other thread of shaka
has already called HttpFile::Flush it may end up deadlocked there
waiting for the cache to either close or become empty. Thus, we close
the cache when leaving the main thread as no data will be read by curl
after it has finished anyways.

Closes shaka-project#1347

* feat: Add support for single file TS for HLS (shaka-project#934)

This is based on comments at
shaka-project#891. The muxer is deciding
whether to write to a single file or a segment file based on the
configuration.

Example:
```
../packager 'in=TOS.ts,stream=video,output=tos_video.ts,playlist_name=tos_video.m3u8' \
            'in=TOS.ts,stream=audio,output=tos_audio.ts,playlist_name=tos_audio.m3u8' \
           --hls_master_playlist_output tos.m3u8
```
Tested the content using Exoplayer.

---------

Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>

* feat: Add PlayReady support in HLS. (shaka-project#1011)

Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>

* feat: Add input support for EBU Teletext in MPEG-TS (shaka-project#1344)

Replaces shaka-project#1181

* Add support for EBU Teletext input following Level 1.5 of the core
specification ETSI EN 300 706 V1.2.1 (2003-04).
* Add support for webvtt in MP4 segments output.

Closes shaka-project#272

---------

Co-authored-by: Marcus Spangenberg <marcus.spangenberg@eyevinn.se>

* feat: add startwithSAP/subsegmentstartswithSAP for audio tracks (shaka-project#1346)

Add startwithSAP/subsegmentstartswithSAP for aac, ac3, ec3 and ac4 audio tracks according to LIVE or VOD profile.

Replaces shaka-project#1055
Partial solution for shaka-project#364

---------

Co-authored-by: Xingzhao Yun <xyun@dolby.com>
Co-authored-by: Joey Parrish <joeyparrish@google.com>

* feat: Allow LIVE UDP WebVTT input (shaka-project#1349)

An updated version of PR shaka-project#1027

That previous PR was done using 2021 code, and there were many changes
in the codebase from there, so a rebase was needed and also some minor
tweak here and there. But it's the same code, just reimplemented on a
newer codebase.

If you want to take a look at this in action, after building shaka
packager with this PR's code included, try this commands in 3 different
simultaneous bash sessions:

1. Video UDP input: `ffmpeg -f lavfi -re -i
"testsrc=s=320x240:r=30,format=yuv420p" -c:v h264 -sc_threshold 0 -g 30
-keyint_min 30 -r 30 -a53cc 1 -b:v 150k -preset ultrafast -r 30 -f
mpegts "udp://127.0.0.1:10000?pkt_size=1316"`
2. WebVTT UDP input: `for sec in $(seq 0 9999) ; do printf
"%02d:%02d.000 --> %02d:%02d.000\ntest second ${sec}\n\n" "$(( ${sec} /
60 ))" "$(( ${sec} % 60 ))" "$(( (${sec} + 1) / 60 ))" "$(( (${sec} + 1)
% 60 ))" ; sleep 1 ; done > /dev/udp/127.0.0.1/12345`
3. shaka packager command line: `timeout 60
path/to/build/packager/packager
'in=udp://127.0.0.1:10000?timeout=8000000,stream_selector=0,init_segment=240_init.m4s,segment_template=240_$Number%09d$.m4s,bandwidth=150000'
'in=udp://127.0.0.1:12345?timeout=8000000,stream_selector=0,input_format=webvtt,format=webvtt+mp4,init_segment=text_init.m4s,segment_template=text_$Number%09d$.m4s,language=eng,dash_roles=subtitle'
--mpd_output ./manifest.mpd --segment_duration 3.2
--suggested_presentation_delay 3.2 --min_buffer_time 3.2
--minimum_update_period 3.2 --time_shift_buffer_depth 60
--preserved_segments_outside_live_window 1 --default_language=eng
--dump_stream_info 2>&1`

Note the added `input_format=webvtt` to the shaka packager command's
second selector. That's new from this PR. If you don't use that, shaka's
format autodetection will not detect the webvtt format from the input,
as explained in
shaka-project#685 (comment).
Try the command without it if you want to.

Fixes shaka-project#685
Fixes shaka-project#1017

---------

Co-authored-by: Daniel Cantarín <canta@canta.com.ar>

* fix: Always log to stderr by default (shaka-project#1350)

This tweaks the default config for stderrthreshold from absl/log so that
we always get logs to stderr by default, as we did in v2. The --quiet
and --v flags that existed in v2 can still be used to modify the log
level, as well as the new --minloglevel from absl/log.

Issue shaka-project#1325

* feat: Add support for ALAC codec (shaka-project#1299)

Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>

* fix: Fix missing newline at the end of usage (shaka-project#1352)

Without this, the command prompt will not appear on its own line after
running `packager` with no arguments.

* build: Disable warnings in third-party code (shaka-project#1353)

We already disabled warnings-as-errors in third-party code, but this
goes futher to completely disable third-party warnings. They are mostly
noise, and distracting. If they aren't errors, we shouldn't have our
build logs flooded with them.

* fix: AudioSampleEntry size caluations due to bad merge (shaka-project#1354)

from ALAC pull request

* feat: Portable, fully-static release executables on Linux (shaka-project#1351)

This adds the option FULLY_STATIC to create fully-static executables.

To create portable, fully-static release executables on Linux, we need
to use musl instead of glibc. Static executables from glibc are not
portable.

The popular musl-gcc wrapper does not support C++, so instead we use a
full musl cross-compiler toolchain in the build workflow.

To build FULLY_STATIC, the user must point to the appropriate
cross-compiler, as we do in the workflow. On systems where musl is the
native libc (such as Alpine Linux), this is not necessary.

I have also read that musl's allocator is not very fast in
multi-threaded applications. So when FULLY_STATIC is enabled, we will
also enable mimalloc, a replacement allocator that is very fast.

I tested a very basic packaging command to compare speeds of dynamic
glibc, static musl, and static musl+mimalloc:

dynamic glibc:
runs: 2.527, 2.798, 2.703, 2.756, 2.959
avg = 2.749, std dev = 0.156s

static musl:
runs: 2.813, 2.920, 3.129, 3.003, 2.738
avg = 2.921s, std dev = 0.154s

static musl+mimalloc:
runs: 2.291, 2.034, 2.415, 2.303, 2.265
avg = 2.262s, std dev = 0.140s

The mimalloc build is 82% faster than musl default allocator, 77% faster
than glibc, and has more consistent runtime characteristics (lower
standard deviation).

* fix: Restore support for legacy FairPlay system ID (shaka-project#1357)

Fixes shaka-project#1356 which was caused by the fix in shaka-project#1281 which updated this to
use the correct FairPlay system ID. However since old versions
recognized the previous system ID this restores support for it to avoid
breaking clients.

* fix: use a better estimate of frame rate for cases with very short first sample durations (shaka-project#838)

Use the second sample in mp4 and webm formats. shaka-project#835 had issues with
merging due to golden file conflicts. Because we cannot make dependent
pull requests, this is a replica of shaka-project#835.

---------

Signed-off-by: Cosmin Stejerean <cstejerean@meta.com>
Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>

* chore(main): release 3.0.0 (shaka-project#1312)

## [3.0.0](shaka-project/shaka-packager@v2.6.1...v3.0.0) (2024-02-28)

### ⚠ BREAKING CHANGES

* Update all dependencies
* Drop Python 2 support in all scripts
* Replace glog with absl::log, tweak log output and flags
* Replace gyp build system with CMake

### Features & Bug Fixes

Too many to list... See CHANGELOG.md for a full accounting!

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).

* ci: Add missing arm64 (self-hosted) builds on release (shaka-project#1358)

The build invocation from the release workflow needs settings to trigger
self-hosted builds, including Linux arm64.

* fix(CI): Add Mac-arm64 to build matrix (shaka-project#1359)

Support for this came out in January, 2024. Explicit macos versions seem
to be necessary for now, until GitHub offers "latest" labels targeting
specific architectures.

* ci: Update actions (shaka-project#1360)

This silences warnings about outdated node runtimes in CI jobs.

 - Trivial upgrades:
   - actions/checkout@v3 => v4
   - actions/deploy-pages@v2 => v4
   - actions/upload-pages-artifact@v2 => v3
   - mxschmitt/action-tmate@v3.6 => v3.17
   - mikepenz/action-junit-report@v3.8.0 => v4
 - Upgrades that required small changes or deeper testing:
   - actions/download-artifact@v3 => v4
   - actions/upload-artifact@v3 => v4
   - google-github-actions/release-please-action@v3 => v4
 - Replaced:
   - svenstaro/upload-release-action@v2 => gh CLI

See also:
- https://github.com/actions/upload-artifact/blob/main/docs/MIGRATION.md

* chore(main): release 3.0.1 (shaka-project#1361)

* fix: duplicate representation id for TTML when forced ordering is on (shaka-project#1364)

Fixes shaka-project#1362

* chore(main): release 3.0.2 (shaka-project#1365)

:robot: I have created a release *beep* *boop*
---


##
[3.0.2](shaka-project/shaka-packager@v3.0.1...v3.0.2)
(2024-03-07)


### Bug Fixes

* duplicate representation id for TTML when forced ordering is on
([shaka-project#1364](shaka-project#1364))
([0fd815a](shaka-project@0fd815a)),
closes
[shaka-project#1362](shaka-project#1362)

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

* force exact command-line ordering for HLS by breaking grouping
---------

Signed-off-by: Cosmin Stejerean <cstejerean@meta.com>
Co-authored-by: Peter Zebühr <33069501+petzeb@users.noreply.github.com>
Co-authored-by: sr90 <sr1990003@gmail.com>
Co-authored-by: Cosmin Stejerean <cstejerean@meta.com>
Co-authored-by: wjywbs <wjywbs@users.noreply.github.com>
Co-authored-by: Marcus Spangenberg <marcus.spangenberg@eyevinn.se>
Co-authored-by: Xingzhao Yun <xyun@dolby.com>
Co-authored-by: Joey Parrish <joeyparrish@google.com>
Co-authored-by: Daniel Cantarín <omega_canta@yahoo.com>
Co-authored-by: Daniel Cantarín <canta@canta.com.ar>
Co-authored-by: Joey Parrish <joeyparrish@users.noreply.github.com>
Co-authored-by: Anthony Lu <67125539+koln67@users.noreply.github.com>
Co-authored-by: Shaka Bot <13107131+shaka-bot@users.noreply.github.com>
Co-authored-by: Cosmin Stejerean <cstejerean@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: archived Archived and locked; will not be updated type: enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants