Commit d89d709
[MSE][GStreamer] always reset appsink/parser state when recycling the track
https://bugs.webkit.org/show_bug.cgi?id=263532
Reviewed by Alicia Boya Garcia.
After applying [1], appsink can receive EOS event that was sent by
qtdemux before removing an "old" streamd. This marks the sink as
"received_eos" and makes it reject any events from subsequent
appends. Resulting in append failing with ParsingFailed error.
See: #1208
Original author: Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
[1] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4535
* Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::recycleTrackForPad): Unconditionally change the parser and appsink to NULL and PLAYING.
Canonical link: https://commits.webkit.org/269761@main1 parent c6df424 commit d89d709
1 file changed
Lines changed: 16 additions & 9 deletions
Lines changed: 16 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
864 | 864 | | |
865 | 865 | | |
866 | 866 | | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
867 | 877 | | |
868 | 878 | | |
869 | 879 | | |
870 | 880 | | |
871 | | - | |
872 | | - | |
873 | | - | |
874 | | - | |
875 | | - | |
876 | | - | |
| 881 | + | |
877 | 882 | | |
878 | 883 | | |
879 | 884 | | |
| |||
892 | 897 | | |
893 | 898 | | |
894 | 899 | | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | 900 | | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
899 | 906 | | |
900 | 907 | | |
901 | 908 | | |
| |||
0 commit comments