Created
March 15, 2019 14:43
-
-
Save erszcz/cd3d57a141804ec1aa1d5b4ab1f0bb05 to your computer and use it in GitHub Desktop.
Gradualizer fix for Membrane.Element.RTP.H264.FU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/rtp_h264/nal_formats/fu.ex b/lib/rtp_h264/nal_formats/fu.ex | |
index 873cf26..3811210 100644 | |
--- a/lib/rtp_h264/nal_formats/fu.ex | |
+++ b/lib/rtp_h264/nal_formats/fu.ex | |
@@ -29,12 +29,25 @@ defmodule Membrane.Element.RTP.H264.FU do | |
| {:error, :packet_malformed | :invalid_first_packet} | |
| {:incomplete, t()} | |
def parse(data, seq_num, acc) do | |
- # actual code | |
- data | |
- |> Header.parse() | |
- ~>> ({:ok, {header, value}} -> do_parse(header, value, seq_num, acc)) | |
+ ## actual code | |
+ #data | |
+ #|> Header.parse() | |
+ #~>> ({:ok, {header, value}} -> do_parse(header, value, seq_num, acc)) | |
+ | |
+ # expanded | |
+ case Membrane.Element.RTP.H264.FU.Header.parse(data) do | |
+ {:ok, {header, value}} -> | |
+ do_parse(header, value, seq_num, acc) | |
+ | |
+ {:error, _} = e -> | |
+ e | |
+ end | |
end | |
+ @spec do_parse(%Header{}, binary(), Depayloader.sequence_number(), t()) | |
+ :: {:ok, {binary(), NALHeader.type()}} | |
+ | {:error, :packet_malformed | :invalid_first_packet} | |
+ | {:incomplete, t()} | |
defp do_parse(header, data, seq_num, acc) | |
defp do_parse(%Header{end_bit: true, type: type}, data, seq_num, %__MODULE__{ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/rtp_h264/nal_formats/fu.ex b/lib/rtp_h264/nal_formats/fu.ex | |
index 873cf26..d314a10 100644 | |
--- a/lib/rtp_h264/nal_formats/fu.ex | |
+++ b/lib/rtp_h264/nal_formats/fu.ex | |
@@ -29,10 +29,19 @@ defmodule Membrane.Element.RTP.H264.FU do | |
| {:error, :packet_malformed | :invalid_first_packet} | |
| {:incomplete, t()} | |
def parse(data, seq_num, acc) do | |
- # actual code | |
- data | |
- |> Header.parse() | |
- ~>> ({:ok, {header, value}} -> do_parse(header, value, seq_num, acc)) | |
+ ## actual code | |
+ #data | |
+ #|> Header.parse() | |
+ #~>> ({:ok, {header, value}} -> do_parse(header, value, seq_num, acc)) | |
+ | |
+ # expanded | |
+ case Membrane.Element.RTP.H264.FU.Header.parse(data) do | |
+ {:ok, {header, value}} -> | |
+ do_parse(header, value, seq_num, acc) | |
+ | |
+ {:error, _} = e -> | |
+ e | |
+ end | |
end | |
defp do_parse(header, data, seq_num, acc) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment