Skip to content

Instantly share code, notes, and snippets.

@IgorKarymov
Created January 4, 2012 08:08
Show Gist options
  • Save IgorKarymov/1559052 to your computer and use it in GitHub Desktop.
Save IgorKarymov/1559052 to your computer and use it in GitHub Desktop.
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:49: The pattern <Rest, Line, {'token', T, Push}, Ts> can never match the type <_,_,'error' | 'skip_token',[{atom(),_} | {'atom',_,atom()} | {'integer',_,integer()} | {'module_def',_,'module'} | {'server_def',_,'server'} | {'val',_,[any()]}]>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:52: The pattern <Rest, Line, {'end_token', T}, Ts> can never match the type <_,_,'error' | 'skip_token',[{atom(),_} | {'atom',_,atom()} | {'integer',_,integer()} | {'module_def',_,'module'} | {'server_def',_,'server'} | {'val',_,[any()]}]>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:54: The pattern <Rest, Line, {'end_token', T, Push}, Ts> can never match the type <_,_,'error' | 'skip_token',[{atom(),_} | {'atom',_,atom()} | {'integer',_,integer()} | {'module_def',_,'module'} | {'server_def',_,'server'} | {'val',_,[any()]}]>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:59: The pattern <Rest, Line, {'skip_token', Push}, Ts> can never match the type <_,_,'error',[{atom(),_} | {'atom',_,atom()} | {'integer',_,integer()} | {'module_def',_,'module'} | {'server_def',_,'server'} | {'val',_,[any()]}]>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:62: The pattern <_Rest, Line, {'error', S}, _Ts> can never match the type <_,_,'error',[{atom(),_} | {'atom',_,atom()} | {'integer',_,integer()} | {'module_def',_,'module'} | {'server_def',_,'server'} | {'val',_,[any()]}]>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:118: The pattern <Rest, Line, {'token', T, Push}> can never match the type <_,_,'error' | 'skip_token'>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:121: The pattern <Rest, Line, {'end_token', T}> can never match the type <_,_,'error' | 'skip_token'>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:123: The pattern <Rest, Line, {'end_token', T, Push}> can never match the type <_,_,'error' | 'skip_token'>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:128: The pattern <Rest, Line, {'skip_token', Push}> can never match the type <_,_,'error'>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:131: The pattern <Rest, Line, {'error', S}> can never match the type <_,_,'error'>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:192: The pattern <Rest, Line, {'token', T, Push}, Ts> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:195: The pattern <Rest, Line, {'end_token', T}, Ts> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:197: The pattern <Rest, Line, {'end_token', T, Push}, Ts> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:202: The pattern <Rest, Line, {'skip_token', Push}, Ts> can never match the type <_,_,'error',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:205: The pattern <Rest, Line, {'error', S}, _Ts> can never match the type <_,_,'error',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:243: The pattern <Rest, Line, {'token', _T, Push}, Error> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:246: The pattern <Rest, Line, {'end_token', _T}, Error> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:248: The pattern <Rest, Line, {'end_token', _T, Push}, Error> can never match the type <_,_,'error' | 'skip_token',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:253: The pattern <Rest, Line, {'skip_token', Push}, Error> can never match the type <_,_,'error',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:256: The pattern <Rest, Line, {'error', _S}, Error> can never match the type <_,_,'error',_>
/home/ingham/erls/lib/parsetools-2.0.5/include/leexinc.hrl:260: Function yyrev/2 will never be called
/home/ingham/erls/lib/parsetools-2.0.5/include/yeccpre.hrl:49: Function return_error/2 will never be called
src/amf0_tests.erl:33: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf0_tests.erl:34: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf0_tests.erl:36: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf0_tests.erl:37: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf0_tests.erl:38: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf0_tests.erl:40: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf3.erl:376: The pattern 'true' can never match the type 'false'
src/amf3_tests.erl:32: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf3_tests.erl:33: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf3_tests.erl:34: The variable _ can never match since previous clauses completely covered the type 'false'
src/amf3_tests.erl:35: The variable _ can never match since previous clauses completely covered the type 'false'
src/apps/apps_streaming.erl:77: Call to missing or unexported function rtmp_session:close_stream/2
src/apps/apps_streaming.erl:167: The pattern 'null' can never match the type 'false' | tuple()
src/apps/apps_streaming.erl:169: The pattern 'undefined' can never match the type 'false' | tuple()
src/asf_reader.erl:53: Record construction #media_info{audio::[],video::[],metadata::[],options::[]} violates the declared type of field flow_type::'file' | 'stream'
src/auth/rtmp_cookie.erl:124: The variable _ can never match since previous clauses completely covered the type 'false'
src/auth_iphone.erl:11: Call to missing or unexported function json_session:binary_to_hexbin/1
src/core/ems_network_lag_monitor.erl:193: The variable _ can never match since previous clauses completely covered the type 'false'
src/core/ems_network_lag_monitor.erl:198: The variable _ can never match since previous clauses completely covered the type 'false'
src/core/ems_network_lag_monitor.erl:203: The variable _ can never match since previous clauses completely covered the type 'false'
src/deskshare.erl:202: Record construction #video_frame{content::'metadata',dts::0,pts::0,stream_id::'mixer',codec::'screen',flavor::'frame',sound::{'undefined','undefined','undefined'},body::[<<_:88>> | {'object',[{'x',_} | {'y',_},...]},...]} violates the declared type of field stream_id::non_neg_integer() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/deskshare.erl:249: Record construction #video_frame{content::'video',dts::number(),pts::number(),stream_id::'mixer',codec::'screen',flavor::'frame' | 'keyframe',sound::{'undefined','undefined','undefined'},body::binary()} violates the declared type of field stream_id::non_neg_integer() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/ems.erl:146: The pattern 'false' can never match the type {'error','badfile' | 'native_code' | 'nofile' | 'not_purged' | 'sticky_directory'} | {'module',atom()}
src/ems.erl:152: The pattern 'false' can never match the type {'error','badfile' | 'native_code' | 'nofile' | 'not_purged' | 'sticky_directory'} | {'module',atom()}
src/ems_config_parser.erl:250: The pattern <Other, _, _, _, _, _, _> can never match since previous clauses completely covered the type <0 | 5 | 6 | 7 | 9 | 10 | 14 | 16 | 18 | 21 | 22 | 23 | 25,_,[byte()],[any()],tuple(),_,{'no_func' | {_,_},_}>
src/ems_event.erl:162: Call to missing or unexported function gen_event:remove_handler/2
src/ems_license_client.erl:156: The pattern 'undefined' can never match the type [any()]
src/ems_license_client.erl:191: The pattern 'undefined' can never match the type [any()]
src/ems_license_client.erl:331: The pattern 'true' can never match the type 'false' | {'file','cover_compiled' | 'preloaded' | binary() | string()}
src/ems_license_client.erl:462: The call erlang:'not'('ok' | {'error','deprecated_versions' | 'empty_storage'}) will never return since it differs in the 1st argument from the success typing arguments: (boolean())
src/ems_license_client.erl:467: The variable __V can never match since previous clauses completely covered the type 'true'
src/ems_rtmp.erl:82: Call to missing or unexported function rtmp_session:call_function/3
src/ems_rtmp.erl:213: Record construction #video_frame{content::'metadata',sound::{'undefined','undefined','undefined'},body::[<<_:80>> | {'object',[any()]},...]} violates the declared type of field dts::number() and pts::number() and stream_id::non_neg_integer() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/erlyvideo.erl:207: Call to missing or unexported function rtmp_session:collect_stats/1
src/erlyvideo.erl:366: The call erlyvideo:reload(T::[any()]) will never return since it differs in the 1st argument from the success typing arguments: (atom())
src/flv.erl:68: The pattern {'error', Reason} can never match the type 'more' | {'ok',#flv_tag{type::'audio' | 'metadata' | 'video',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',timestamp::'undefined' | number(),composition_offset::'undefined' | number(),stream_id::'undefined' | number(),size::'undefined' | non_neg_integer(),offset::'undefined' | non_neg_integer(),next_tag_offset::'undefined' | non_neg_integer(),body::[any()] | #flv_video_tag{codec::'h264' | 'sorenson' | 'vp6',flavor::'config' | 'disposable' | 'frame' | 'keyframe',composition_time::non_neg_integer(),body::binary()} | #flv_audio_tag{codec::'aac' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex',rate::'rate11' | 'rate22' | 'rate44' | 'rate5',bitsize::'bit16' | 'bit8',channels::'mono' | 'stereo',flavor::'config' | 'frame',body::binary()}},binary()}
src/flv.erl:244: Record construction #flv_audio_tag{codec::'empty',flavor::'frame',body::<<>>} violates the declared type of field codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined'
src/flv.erl:262: The variable Else can never match since previous clauses completely covered the type #flv_tag{type::'audio' | 'metadata' | 'video',timestamp::non_neg_integer(),stream_id::non_neg_integer(),size::non_neg_integer()}
src/flv.erl:272: Record construction #flv_audio_tag{codec::'empty',flavor::'frame',body::<<>>} violates the declared type of field codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined'
src/flv_reader.erl:118: Record construction #stream_info{content::'audio',stream_id::2,config::'undefined' | binary(),params::#audio_params{channels::0,sample_rate::0},timescale::1,options::[]} violates the declared type of field codec::atom() and bitrate::non_neg_integer()
src/flv_reader.erl:141: The pattern <MediaInfo = {'flv_media', _, _, _, _, _, _, _, _, _, _, _, _, _}, _Offset, 0> can never match the type <#flv_media{reader::{_,_},frames::atom() | tid(),header::#flv_header{},metadata::[],duration::'undefined' | number(),audio_config::'undefined' | #video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined',flavor::'config',sound::{_,_,_},body::binary(),next_id::'undefined' | non_neg_integer()},audio_codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined'},_,neg_integer()>
src/flv_reader.erl:147: Matching of pattern {'video_frame', 'metadata', _, _, _, _, _, _, Meta, NextOffset} tagged with a record name violates the declared type of #video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::{'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary(),next_id::'undefined' | non_neg_integer()}
src/flv_reader.erl:156: Matching of pattern V = {'video_frame', 'video', _, _, _, Codec, 'config', _, _, NextOffset} tagged with a record name violates the declared type of #video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::{'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary(),next_id::'undefined' | non_neg_integer()}
src/flv_reader.erl:164: Matching of pattern {'video_frame', 'video', DTS, _, _, Codec, 'keyframe', _, _, NextOffset} tagged with a record name violates the declared type of #video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined',flavor::'disposable' | 'frame' | 'keyframe' | 'undefined',sound::{'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary(),next_id::'undefined' | non_neg_integer()}
src/flv_reader.erl:171: The pattern {'video_frame', _, DTS, _, _, _, _, _, _, NextOffset} can never match the type 'eof' | {'error',_}
src/flv_reader.erl:183: Function get_int/3 will never be called
src/flv_reader.erl:196: Function b_to_atom/1 will never be called
src/flv_reader.erl:199: Function parse_metadata/2 will never be called
src/flv_reader.erl:203: Function will never be called
src/flv_reader.erl:205: Function will never be called
src/flv_reader.erl:241: Function insert_keyframes/3 will never be called
src/flv_reader.erl:282: Clause guard cannot succeed. The pattern {'video_frame', _, DTS, _, _, _, 'keyframe', _, _, _} was matched against the type any()
src/flv_reader.erl:294: Guard test PrevTS::number() == 'undefined' can never succeed
src/flv_video_frame.erl:35: Guard test is_number(Rate::'rate11' | 'rate22' | 'rate44' | 'rate5') can never succeed
src/flv_video_frame.erl:97: Record construction #video_frame{content::'video',dts::0,pts::'undefined' | number(),stream_id::0,codec::'h264' | 'mpeg4' | 'sorenson' | 'undefined' | 'vp6' | 'vp6f',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::{'undefined','undefined','undefined'},body::'undefined' | binary()} violates the declared type of field pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/flv_video_frame.erl:106: Record construction #video_frame{content::'metadata',dts::0,pts::0,stream_id::0,sound::{'undefined','undefined','undefined'}} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/flv_video_frame.erl:118: Record construction #video_frame{content::'audio' | 'metadata' | 'video',dts::non_neg_integer(),pts::non_neg_integer(),stream_id::0,sound::{'undefined','undefined','undefined'},body::<<>>} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/flv_video_frame.erl:133: Record construction #video_frame{content::'metadata',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::maybe_improper_list()} violates the declared type of field body::binary()
src/flv_video_frame.erl:155: Record construction #video_frame{content::'video',dts::float(),pts::float(),stream_id::1,codec::'h264',flavor::'config',sound::{'undefined','undefined','undefined'},body::<<_:104>>} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/flv_writer.erl:143: Matching of pattern <{'video_frame', _, _, _, _, _, 'command', _, _, _}, FlvWriter> tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/glue_mp4.erl:39: Call to missing or unexported function mp4_reader:open/2
src/glue_mp4.erl:40: Call to missing or unexported function mp4_reader:first/1
src/h264.erl:44: Record construction #video_frame{content::'video',dts::0,pts::0,stream_id::0,codec::'h264',flavor::'config',sound::{'undefined','undefined','undefined'},body::'undefined' | <<_:64,_:_*8>>} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/h264.erl:61: Record construction #video_frame{content::'metadata',dts::0,pts::0,stream_id::0,sound::{'undefined','undefined','undefined'},body::[<<_:80>> | {'object',[{'height',integer()} | {'length_size',1 | 2 | 3 | 4} | {'width',integer()},...]},...]} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/h264.erl:116: Record construction #video_frame{content::'video',stream_id::0,codec::'h264',flavor::'frame' | 'keyframe',sound::#h264_nal{nal_unit_type::atom(),ref_idc::0 | 1 | 2 | 3,first_mb_in_slice::integer(),slice_type::'B' | 'I' | 'P' | 'i' | 'p' | 'undefined',pps_id::integer(),frame_num::integer()},body::<<_:32,_:_*8>>} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/h264.erl:153: Record construction #video_frame{content::'video',stream_id::0,codec::'h264',flavor::'keyframe',sound::#h264_nal{nal_unit_type::atom(),ref_idc::0 | 1 | 2 | 3,first_mb_in_slice::integer(),slice_type::'B' | 'I' | 'P' | 'i' | 'p' | 'undefined',pps_id::integer(),frame_num::integer()},body::<<_:32,_:_*8>>} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/h264.erl:165: Record construction #video_frame{content::'video',stream_id::0,codec::'h264',flavor::'frame',sound::{'undefined','undefined','undefined'},body::<<_:32,_:_*8>>} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/h264.erl:199: Record construction #video_frame{content::'video',stream_id::0,codec::'h264',flavor::'frame',sound::{'undefined','undefined','undefined'},body::<<_:32,_:_*8>>} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/h264.erl:489: Record construction #video_frame{content::'video',stream_id::0,codec::'h264',flavor::'frame' | 'keyframe',sound::{'undefined','undefined','undefined'},body::binary()} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/http/ems_http_erlyvideo_api.erl:99: The pattern 'ok' can never match the type {'error',_} | {'ok',[atom()]}
src/http/ems_http_flv.erl:55: The variable Reason can never match since previous clauses completely covered the type {'notfound',<<_:48,_:_*8>>} | {'ok',pid()}
src/http/ems_http_mp4_export.erl:52: Call to missing or unexported function mp4_writer:dump_media/2
src/http/ems_http_mpegts.erl:51: The variable Reason can never match since previous clauses completely covered the type {'notfound',<<_:48,_:_*8>>} | {'ok',pid()}
src/http_stream.erl:53: The pattern {'tcp_closed', _Socket} can never match the type {'error',_}
src/id3_tags.erl:53: The pattern 'true' can never match the type 'false'
src/id3_tags.erl:111: The pattern {'ok', [{"TALB", _Body1}, {"TPE1", _Body2}], _Rest} can never match the type {'more',non_neg_integer()} | {'notfound',binary()} | {'ok',{'name',<<_:_*1>>},<<_:32,_:_*8>>}
src/iphone_streams.erl:146: The variable Reason can never match since previous clauses completely covered the type {'notfound',[[any()] | char()]} | {'ok',pid()}
src/jpeg_reader.erl:68: The call jpeg_reader:read_frame(Media::#media{},0) will never return since it differs in the 2nd argument from the success typing arguments: (any(),'eof')
src/jpeg_reader.erl:73: Record construction #video_frame{content::'video',dts::number(),pts::number(),stream_id::0,codec::'mjpeg',flavor::'keyframe',sound::{'undefined','undefined','undefined'},next_id::number()} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/jsonerl.erl:490: Guard test is_tuple(Tuples::[{<<_:24,_:_*16>>,'true' | <<_:24>> | [any()] | 123 | tuple()},...]) can never succeed
src/media/ems_media.erl:99: The call gen_server_ems:start_link('ems_media',[any(),...],[{'fullsweep_after',10},...]) will never return since it differs in the 3rd argument from the success typing arguments: (atom() | tuple(),any(),[{'debug',['debug' | 'log' | 'statistics' | 'trace' | {_,_}]} | {'spawn_opt',['link' | 'monitor' | {_,_}]} | {'timeout','infinity' | non_neg_integer()}])
src/media/ems_media.erl:103: The call gen_server_ems:start_link(Module::any(),[any(),...],[{'fullsweep_after',10},...]) will never return since it differs in the 3rd argument from the success typing arguments: (atom() | tuple(),any(),[{'debug',['debug' | 'log' | 'statistics' | 'trace' | {_,_}]} | {'spawn_opt',['link' | 'monitor' | {_,_}]} | {'timeout','infinity' | non_neg_integer()}])
src/media/ems_media.erl:345: The test [#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}] == 'wait' can never evaluate to 'true'
src/media/ems_media.erl:475: Record construction #media_info{flow_type::'stream',audio::'wait',video::'wait',metadata::[],options::[]} violates the declared type of field audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}] and video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}]
src/media/ems_media.erl:509: Function init_timeshift/2 will never be called
src/media/ems_media.erl:524: Function init_timeouts/2 will never be called
src/media/ems_media.erl:532: Function init_transcoder/2 will never be called
src/media/ems_media.erl:541: Function or_time/2 will never be called
src/media/ems_media.erl:802: The pattern 'wait' can never match the type [#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}]
src/media/ems_media_clients.erl:225: The pattern <Clients = {'clients', _, _, _, _, _, 'undefined', _, _, _, _}, _Client, 11, _Value> can never match the type <_,_,8,_>
src/media/ems_media_clients.erl:228: The pattern <Clients = {'clients', _, _, _, _, _, Bytes, _, _, _, _}, Client, 11, Value> can never match the type <_,_,8,_>
src/media/ems_media_frame.erl:161: The pattern <'audio', 'wait', _> can never match the type <'audio' | 'metadata' | 'video',[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | [any()],params::{_,_,_} | {_,_,_,_},timescale::non_neg_integer()}],[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | [any()],params::{_,_,_} | {_,_,_,_},timescale::non_neg_integer()}]>
src/media/ems_media_frame.erl:163: The pattern <'video', _, 'wait'> can never match the type <'audio' | 'metadata' | 'video',[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | [any()],params::{_,_,_} | {_,_,_,_},timescale::non_neg_integer()}],[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | [any()],params::{_,_,_} | {_,_,_,_},timescale::non_neg_integer()}]>
src/media/ems_media_frame.erl:179: Matching of pattern <Frame = {'video_frame', _, 'undefined', _, _, _, _, _, _, _}, Media = {'ems_media', _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, LastDTS, _, _, _, _, _, _, _, _, _, _, _, _, _, _}> tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/media/http_flv_media.erl:171: The pattern {'error', Reason} can never match the type 'more' | {'ok',#video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'aac' | 'g726_16' | 'mp3' | 'nellymoser' | 'nellymoser8' | 'pcm' | 'pcm_le' | 'pcma' | 'pcmu' | 'speex' | 'undefined',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::{'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary(),next_id::'undefined' | non_neg_integer()},binary()}
src/media/proxy_media.erl:161: Record construction #video_frame{content::'audio',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'empty',flavor::'frame',sound::{'undefined','undefined','undefined'},body::<<>>} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/media/rtmp_media.erl:106: Record construction #video_frame{content::'audio' | 'video',dts::'same' | 'undefined' | number(),pts::'same' | 'undefined' | number(),stream_id::0,sound::{'undefined','undefined','undefined'},body::<<>>} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/media/rtmp_media.erl:117: Record construction #video_frame{content::'metadata',dts::'same' | 'undefined' | number(),pts::'same' | 'undefined' | number(),stream_id::0,sound::{'undefined','undefined','undefined'},body::'undefined' | binary() | [any()] | non_neg_integer() | {char(),binary()} | #rtmp_message_ack{bytes_read::'undefined' | non_neg_integer(),previous_ack::'undefined' | {integer(),integer(),integer()},current_ack::'undefined' | {integer(),integer(),integer()},speed::'undefined' | non_neg_integer()} | #so_message{} | #rtmp_funcall{}} violates the declared type of field dts::number() and pts::number() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/media/rtmp_media.erl:146: Record construction #media_info{audio::[],video::[],metadata::[],options::[]} violates the declared type of field flow_type::'file' | 'stream'
src/mp3.erl:139: The pattern {0, 1} can never match the type {'reserved' | 1 | 2 | {2,5},'reserved' | 1 | 2 | 3}
src/mp3.erl:140: The pattern {0, _} can never match the type {'reserved' | 1 | 2 | {2,5},'reserved' | 1 | 2 | 3}
src/mp3_reader.erl:142: Record construction #stream_info{content::'audio',stream_id::1,codec::'mp3',params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()},timescale::1,options::[]} violates the declared type of field bitrate::non_neg_integer()
src/mp4.erl:373: Record construction #video_frame{dts::0,pts::0,stream_id::0,flavor::'config',sound::{'undefined','undefined','undefined'}} violates the declared type of field content::'audio' | 'metadata' | 'video' and codec::atom() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/mp4.erl:426: Record construction #video_frame{content::'video',stream_id::0,flavor::'frame' | 'keyframe',sound::{'undefined','undefined','undefined'}} violates the declared type of field dts::number() and pts::number() and codec::atom() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/mp4.erl:439: Record construction #video_frame{content::'metadata',stream_id::0,flavor::'frame',sound::{'undefined','undefined','undefined'},body::[<<_:80>> | {'object',[{'begin',_} | {'end',_} | {'name','onCuePoint'} | {'text',_} | {'type','event'},...]},...]} violates the declared type of field dts::number() and pts::number() and codec::atom() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/mp4_reader.erl:192: Record construction #video_frame{content::'video',dts::0,pts::0,stream_id::0,flavor::'config',sound::{'undefined','undefined','undefined'}} violates the declared type of field codec::atom() and sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/mp4_reader.erl:248: The call mp4:video_frame('text',Frame::#mp4_frame{content::'text',next_id::#frame_id{id::pos_integer()}},Data::any()) will never return since it differs in the 1st argument from the success typing arguments: ('audio',#mp4_frame{dts::number(),codec::atom()},binary())
src/mp4_writer.erl:114: The call file:pwrite(OutMp4::{'error',atom()} | {'ok',pid() | {'file_descriptor',atom() | tuple(),_}},Offset::any(),Bin::any()) breaks the contract (IoDevice,Location,Bytes) -> 'ok' | {'error',Reason} when is_subtype(IoDevice,io_device()), is_subtype(Location,location()), is_subtype(Bytes,iodata()), is_subtype(Reason,posix() | 'badarg' | 'terminated')
src/mp4_writer.erl:117: The call file:close(OutMp4::{'error',atom()} | {'ok',pid() | {'file_descriptor',atom() | tuple(),_}}) breaks the contract (IoDevice) -> 'ok' | {'error',Reason} when is_subtype(IoDevice,io_device()), is_subtype(Reason,posix() | 'badarg' | 'terminated')
src/mp4_writer.erl:173: Fun application with arguments ('config') will fail since the function has type fun((number()) -> 'eof' | {_,_,_,_,_,_,_,_,_,_})
src/mp4_writer.erl:232: The pattern {'ok', NextOffset, Convertor1} can never match the type {'ok',_}
src/mp4_writer.erl:264: Matching of pattern <{'video_frame', _, _, _, _, _, 'command', _, _, _}, Convertor> tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/mp4_writer.erl:323: Record construction #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::{number(),non_neg_integer()}} violates the declared type of field body::binary()
src/mp4_writer.erl:344: Matching of pattern [Frame = {'video_frame', _, _, _, _, _, _, _, {Offset, Size}, _} | _] tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/mp4_writer.erl:497: Record construction #video_frame{content::'audio' | 'metadata' | 'video',dts::1024,stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()} violates the declared type of field pts::number()
src/mp4_writer.erl:569: Matching of pattern [{'video_frame', _, _, _, _, _, _, _, {Offset, _}, _} | _] tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::integer(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/mp4_writer.erl:737: Matching of pattern <Bin, [{'video_frame', _, _, _, _, _, _, _, {_Offset, BodySize}, _} | Frames]> tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::integer(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/mp4_writer.erl:783: Cons will produce an improper list since its 2nd argument is none()
src/mp4_writer.erl:784: Function will never be called
src/mp4_writer.erl:792: Cons will produce an improper list since its 2nd argument is none()
src/mp4_writer.erl:793: Function will never be called
src/mpegts.erl:416: Record construction #video_frame{content::'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::'h264',flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::[<<_:48>> | [[binary(),...]],...]} violates the declared type of field body::binary()
src/mpegts_reader.erl:709: The pattern {'video_frame', _, _, _, _, _, _, _, _, _} can never match the type 'undefined'
src/mpegts_reader.erl:712: The pattern [Frame | _] can never match the type []
src/packet_codec.erl:263: The pattern [Key, Value] can never match the type {_,_}
src/reverse_mpegts.erl:136: The pattern {'pusher', _, URL, _, 100, _, _} can never match the type #pusher{from_counter::non_neg_integer(),to_counter::0,from::'false' | 'undefined' | {'port',port()} | {'socket',port()},to::'undefined' | port()}
src/reverse_mpegts.erl:143: The pattern Pusher = {'pusher', _, _, _, Counter, _, 'false'} can never match the type #pusher{from_counter::non_neg_integer(),to_counter::0,from::'undefined' | {'port',port()} | {'socket',port()},to::'undefined' | port()}
src/rtmp_dump.erl:212: Function run_publish/4 will never be called
src/rtmp_handshake.erl:64: The pattern <C1 = <<_:772/binary-unit:8,P1:8/integer-unit:1,P2:8/integer-unit:1,P3:8/integer-unit:1,P4:8/integer-unit:1,_/binary-unit:8>>, 'version2'> can never match the type <_,'version1'>
src/rtmp_handshake.erl:72: The specification for rtmp_handshake:validate_scheme_version/2 states that the function might also return boolean() but the inferred return is none()
src/rtmp_handshake.erl:79: The specification for rtmp_handshake:client_scheme_version/1 states that the function might also return 'version1' | 'version2' but the inferred return is none()
src/rtmp_lib.erl:159: Call to missing or unexported function erlang:raise/1
src/rtmp_lib.erl:162: The variable Else can never match since previous clauses completely covered the type {'ok',pid()}
src/rtmp_lib.erl:319: The call rtmp_lib:play_start(RTMP::pid(),StreamId::non_neg_integer(),DTS::any(),'resume') breaks the contract (RTMP::pid(),StreamId::non_neg_integer(),DTS::timestamp_type(),Type::'live' | 'file') -> 'ok'
src/rtmp_session.erl:333: Record construction #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::0,sound::{'undefined','undefined','undefined'},body::<<>>} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'}
src/rtmp_session.erl:441: The call rtmp_lib:play_start(Socket::any(),StreamId::non_neg_integer(),0,'file') breaks the contract (RTMP::pid(),StreamId::non_neg_integer(),DTS::timestamp_type(),Type::'live' | 'file') -> 'ok'
src/rtmp_session.erl:446: The call rtmp_lib:play_start(Socket::any(),StreamId::non_neg_integer(),0,MediaType::any()) breaks the contract (RTMP::pid(),StreamId::non_neg_integer(),DTS::timestamp_type(),Type::'live' | 'file') -> 'ok'
src/rtmp_socket.erl:727: The variable State can never match since previous clauses completely covered the type #rtmp_socket{active::'false' | 'once' | 'true',consumer::'undefined' | pid(),socket::'undefined' | pid() | port(),amf_version::integer(),fmle_3::boolean(),channels::'undefined' | tuple(),out_channels::'undefined' | tuple(),sent_audio_notify::boolean(),sent_video_notify::boolean(),debug::boolean(),url::'undefined' | string(),address::'undefined' | tuple(),port::'undefined' | integer(),key_in::'undefined' | binary(),key_out::'undefined' | binary(),buffer::binary(),bytes_read::integer(),bytes_sent::integer(),client_buffer::integer(),client_chunk_size::integer(),server_chunk_size::integer(),window_size::non_neg_integer(),previous_ack::'undefined' | {integer(),integer(),integer()},bytes_unack::non_neg_integer(),current_speed::non_neg_integer(),pinged::boolean()}
src/rtmp_sup.erl:45: The specification for rtmp_sup:start_rtmp_session/2 states that the function might also return {'error',_} but the inferred return is {'ok','undefined' | pid()}
src/rtmpe.erl:56: Function dhKey/2 will never be called
src/rtmpe.erl:67: Function rc4_key/2 will never be called
src/rtmpe.erl:76: Function prepare_keys/2 will never be called
src/rtmpe.erl:82: Function crypto_keys/3 will never be called
src/rtmpe.erl:89: Function generate_dh/1 will never be called
src/rtsp_inbound.erl:97: The call rtp:setup_channel(RTP::'undefined' | pid(),Num::pos_integer(),[{'proto','interleaved' | 'udp'} | {'tcp_socket',_},...]) will never return since it differs in the 1st argument from the success typing arguments: ({'rtp_state',[any(),...],tuple(),_,_,_,_,_,'local' | 'remote',_,_,_},pos_integer(),[any()])
src/rtsp_inbound.erl:104: The pattern 'tcp' can never match the type 'interleaved' | 'udp'
src/rtsp_inbound.erl:157: The call rtp:setup_channel(RTP::'undefined' | pid(),StreamId::any(),nonempty_maybe_improper_list()) will never return since it differs in the 1st argument from the success typing arguments: ({'rtp_state',[any(),...],tuple(),_,_,_,_,_,'local' | 'remote',_,_,_},pos_integer(),[any()])
src/rtsp_inbound.erl:159: Record construction #rtsp_socket{transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),rtp::{'rtp_state',[any(),...],tuple(),'tcp' | 'udp',_,_,_,_,'local' | 'remote',_,_,_}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_inbound.erl:163: Function seq/1 will never be called
src/rtsp_outbound.erl:61: Record construction #rtsp_socket{direction::'out',transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),session::[any()],rtp::#rtp_state{streams::[{_,_,_,_,_,_,_,_,_,_}],channels::{'undefined','undefined'},udp::{'undefined','undefined'},content_map::[{_,_}],location::'local' | 'remote',sent_audio_config::'false',frames::[],reorder_length::0}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_outbound.erl:104: Function encode_transport/2 will never be called
src/rtsp_outbound.erl:119: The call rtp:setup_channel(RTP::'undefined' | pid(),StreamId::integer(),[{'interleaved' | 'proto' | 'remote_addr' | 'remote_rtcp_port' | 'remote_rtp_port' | 'tcp_socket',_},...]) will never return since it differs in the 1st argument from the success typing arguments: (#rtp_state{streams::[any(),...],channels::tuple(),location::'local' | 'remote'},pos_integer(),[any()])
src/rtsp_outbound.erl:121: Record construction #rtsp_socket{transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),rtp::#rtp_state{streams::[any(),...],channels::tuple(),transport::'tcp' | 'udp',location::'local' | 'remote'}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_outbound.erl:137: The call rtp:send_rtcp(RTP::'undefined' | pid(),'sender_report',[]) will never return since it differs in the 1st argument from the success typing arguments: (#rtp_state{},'receiver_report' | 'sender_report',any())
src/rtsp_outbound.erl:170: The call rtp:rtp_info(RTP::'undefined' | pid()) will never return since it differs in the 1st argument from the success typing arguments: (#rtp_state{channels::tuple()})
src/rtsp_outbound.erl:180: The call rtp:handle_frame(RTP::'undefined' | pid(),Frame::#video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}) will never return since it differs in the 1st argument from the success typing arguments: (#rtp_state{channels::tuple(),transport::'tcp' | 'udp',content_map::[any()],location::'remote'},#video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()})
src/rtsp_outbound.erl:181: Record construction #rtsp_socket{transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),rtp::#rtp_state{channels::tuple(),transport::'tcp' | 'udp',content_map::[any()],location::'remote'}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_socket.erl:144: The call rtsp_inbound:handle_call(Call::{'request','setup',_},From::any(),RTSP::any()) will never return since it differs in the 1st argument from the success typing arguments: ({'consume','undefined' | pid()} | {'request','describe' | 'options' | 'play'} | {'connect',binary() | maybe_improper_list(),[any()]},any(),#rtsp_socket{transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),rtp::'undefined' | pid()})
src/rtsp_socket.erl:216: The call rtp:send_rtcp(RTP::'undefined' | pid(),'sender_report',[]) will never return since it differs in the 1st argument from the success typing arguments: ({'rtp_state',_,_,_,_,_,_,_,_,_,_,_},'receiver_report' | 'sender_report',any())
src/rtsp_socket.erl:297: The call rtp:setup_channel(RTP::'undefined' | pid(),StreamId::any(),[{'proto','interleaved' | 'udp'} | {'remote_rtcp_port',_} | {'remote_rtp_port',_},...]) will never return since it differs in the 1st argument from the success typing arguments: ({'rtp_state',[any(),...],tuple(),_,_,_,_,_,'local' | 'remote',_,_,_},pos_integer(),[any()])
src/rtsp_socket.erl:298: Record construction #rtsp_socket{buffer::binary(),transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),pending_reply::'ok',rtp::{'rtp_state',[any(),...],tuple(),'tcp' | 'udp',_,_,_,_,'local' | 'remote',_,_,_}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_socket.erl:319: Record construction #rtsp_socket{transport::'interleaved' | 'udp',media::'undefined' | pid(),rtp_ref::'undefined' | reference(),rtp::{'rtp_state',[{_,_,_,_,_,_,_,_,_,_}],{'undefined','undefined'},'undefined','undefined','undefined',{'undefined','undefined'},[{_,_}],'local' | 'remote','false',[],0}} violates the declared type of field rtp::'undefined' | pid()
src/rtsp_tests.erl:144: The variable _ can never match since previous clauses completely covered the type 'false'
src/rtsp_tests.erl:146: The variable _ can never match since previous clauses completely covered the type 'false'
src/rtsp_tests.erl:147: The variable _ can never match since previous clauses completely covered the type 'false'
src/rtsp_tests.erl:149: The variable _ can never match since previous clauses completely covered the type 'false'
src/sdp.erl:197: Record construction #stream_info{stream_id::0,params::'undefined' | #audio_params{channels::0,sample_rate::0} | #video_params{width::0,height::0,fps::0},timescale::1,options::[]} violates the declared type of field content::'audio' | 'metadata' | 'video' and bitrate::non_neg_integer() and params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()}
src/sdp.erl:198: Function will never be called
src/sdp.erl:202: Function will never be called
src/sdp.erl:202: Function parse_media_sdp/2 will never be called
src/sdp.erl:217: Function will never be called
src/sdp.erl:232: Function parse_audio_fmtp/2 will never be called
src/sdp.erl:252: Function parse_video_fmtp/2 will never be called
src/sdp.erl:260: Function will never be called
src/sdp.erl:261: Function will never be called
src/sdp.erl:264: Function will never be called
src/sdp.erl:275: Call to missing or unexported function sdp_encoder:encode/2
src/sdp_tests.erl:59: Matching of pattern {'media_info', 'stream', [{'stream_info', 'audio', 2, 'pcma', 'undefined', _, _, {'audio_params', 1, 8000}, 8.0, _}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,77:8/integer-unit:1,0:8/integer-unit:1,40:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,47:8/integer-unit:1,39:8/integer-unit:1,77:8/integer-unit:1,0:8/integer-unit:1,40:8/integer-unit:1,141:8/integer-unit:1,141:8/integer-unit:1,40:8/integer-unit:1,10:8/integer-unit:1,0:8/integer-unit:1,183:8/integer-unit:1,96:8/integer-unit:1,45:8/integer-unit:1,64:8/integer-unit:1,64:8/integer-unit:1,64:8/integer-unit:1,80:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,62:8/integer-unit:1,128:8/integer-unit:1,0:8/integer-unit:1,12:8/integer-unit:1,53:8/integer-unit:1,6:8/integer-unit:1,134:8/integer-unit:1,0:8/integer-unit:1,80:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,89:8/integer-unit:1,244:8/integer-unit:1,187:8/integer-unit:1,203:8/integer-unit:1,141:8/integer-unit:1,12:8/integer-unit:1,0:8/integer-unit:1,160:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,179:8/integer-unit:1,233:8/integer-unit:1,119:8/integer-unit:1,151:8/integer-unit:1,4:8/integer-unit:1,250:8/integer-unit:1,44:8/integer-unit:1,0:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,40:8/integer-unit:1,238:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, _, {'video_params', 1280, 720, _}, 9.0e+1, _}], _, _, [{'sdp_session', {'sdp_session', 0, {'sdp_o', "-", "1275067839203788", "1", 'inet4', "0.0.0.0"}, _, _, _, _}}]} tagged with a record name violates the declared type of #media_info{flow_type::'stream',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[],options::[{_,_},...]}
src/sdp_tests.erl:130: Matching of pattern {'media_info', 'stream', [{'stream_info', 'audio', 1, 'aac', <<21:8/integer-unit:1,136:8/integer-unit:1>>, _, _, {'audio_params', 1, 8000}, 8.0, [{'control', "trackid=1"}, {'payload_num', 96}]}], [{'stream_info', 'video', 2, 'h264', <<1:8/integer-unit:1,77:8/integer-unit:1,0:8/integer-unit:1,12:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,20:8/integer-unit:1,39:8/integer-unit:1,77:8/integer-unit:1,64:8/integer-unit:1,12:8/integer-unit:1,169:8/integer-unit:1,24:8/integer-unit:1,80:8/integer-unit:1,143:8/integer-unit:1,203:8/integer-unit:1,128:8/integer-unit:1,53:8/integer-unit:1,6:8/integer-unit:1,1:8/integer-unit:1,6:8/integer-unit:1,182:8/integer-unit:1,194:8/integer-unit:1,181:8/integer-unit:1,239:8/integer-unit:1,124:8/integer-unit:1,4:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,5:8/integer-unit:1,40:8/integer-unit:1,222:8/integer-unit:1,9:8/integer-unit:1,23:8/integer-unit:1,160:8/integer-unit:1>>, _, _, {'video_params', 160, 120, _}, 9.0e+1, [{'control', "trackid=2"}, {'payload_num', 97}]}], _, _, _} tagged with a record name violates the declared type of #media_info{flow_type::'stream',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[],options::[{_,_},...]}
src/sdp_tests.erl:173: Matching of pattern {'media_info', 'stream', [], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,18:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,227:8/integer-unit:1,80:8/integer-unit:1,20:8/integer-unit:1,7:8/integer-unit:1,182:8/integer-unit:1,2:8/integer-unit:1,220:8/integer-unit:1,4:8/integer-unit:1,4:8/integer-unit:1,6:8/integer-unit:1,144:8/integer-unit:1,120:8/integer-unit:1,145:8/integer-unit:1,21:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, _, {'video_params', 640, 480, _}, 9.0e+1, [{'control', "trackID=1"}, {'payload_num', 96}]}], _, _, _} tagged with a record name violates the declared type of #media_info{flow_type::'stream',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[],options::[{_,_},...]}
src/sdp_tests.erl:212: Matching of pattern {'media_info', 'stream', [{'stream_info', 'audio', 2, 'aac', <<20:8/integer-unit:1,8:8/integer-unit:1>>, _, _, _, 1.6e+1, [{'control', "rtsp://10.10.11.48:554/axis-media/media.amp/trackID=2?videocodec=h264"}, {'payload_num', 97}]}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,18:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,227:8/integer-unit:1,80:8/integer-unit:1,20:8/integer-unit:1,7:8/integer-unit:1,182:8/integer-unit:1,2:8/integer-unit:1,220:8/integer-unit:1,4:8/integer-unit:1,4:8/integer-unit:1,6:8/integer-unit:1,144:8/integer-unit:1,120:8/integer-unit:1,145:8/integer-unit:1,21:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, _, {'video_params', 640, 480, _}, 9.0e+1, [{'control', "rtsp://10.10.11.48:554/axis-media/media.amp/trackID=1?videocodec=h264"}, {'payload_num', 96}]}], _, _, _} tagged with a record name violates the declared type of #media_info{flow_type::'stream',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[],options::[{_,_},...]}
src/sdp_tests.erl:254: Matching of pattern {'media_info', 'stream', [], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,18:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,0:8/integer-unit:1,41:8/integer-unit:1,227:8/integer-unit:1,80:8/integer-unit:1,20:8/integer-unit:1,7:8/integer-unit:1,182:8/integer-unit:1,2:8/integer-unit:1,220:8/integer-unit:1,4:8/integer-unit:1,4:8/integer-unit:1,6:8/integer-unit:1,144:8/integer-unit:1,120:8/integer-unit:1,145:8/integer-unit:1,21:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, _, {'video_params', 640, 480, _}, 9.0e+1, [{'control', "trackID=1"}, {'payload_num', 96}]}], _, _, _} tagged with a record name violates the declared type of #media_info{flow_type::'stream',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[],options::[{_,_},...]}
src/sdp_tests.erl:272: Fun application with arguments ([{'media_desc','audio' | 'video',{'inet4',[46 | 48,...]},0,[{'payload',0 | 96,'mp4v' | 'pcmu',float(),'undefined','undefined',[]},...],[49 | 50 | 61 | 68 | 73 | 97 | 99 | 107 | 114 | 116,...],'undefined','undefined','undefined'},...]) will never return since it differs in the 1st argument from the success typing arguments: (#media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]})
src/sdp_tests.erl:281: Guard test #media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]} =:= __X::[{'media_desc','audio' | 'video',{_,_},0,[any(),...],[any(),...],'undefined','undefined','undefined'},...] can never succeed
src/sdp_tests.erl:286: Fun application with arguments ([{'media_desc','video','undefined',10000,[{'payload',96,'h264',float(),'undefined','undefined',[]},...],'undefined','undefined','undefined','undefined'},...]) will never return since it differs in the 1st argument from the success typing arguments: (#media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]})
src/sdp_tests.erl:288: Guard test #media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]} =:= __X::[{'media_desc','video','undefined',10000,[any(),...],'undefined','undefined','undefined','undefined'},...] can never succeed
src/sdp_tests.erl:317: Fun application with arguments ([{'media_desc','audio' | 'video',{'inet4',[46 | 48,...]},0,[{'payload',96 | 97,'h264' | 'mp4a',float(),'undefined','undefined',[]},...],[49 | 50 | 61 | 68 | 73 | 97 | 99 | 107 | 114 | 116,...],'undefined' | <<_:32>>,'undefined' | <<_:256>>,'undefined' | <<_:48>>},...]) will never return since it differs in the 1st argument from the success typing arguments: (#media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]})
src/sdp_tests.erl:331: Guard test #media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]} =:= __X::[{'media_desc','audio' | 'video',{_,_},0,[any(),...],[any(),...],'undefined' | <<_:32>>,'undefined' | <<_:256>>,'undefined' | <<_:48>>},...] can never succeed
src/sdp_tests.erl:354: Fun application with arguments ([{'media_desc','video',{'inet4',[46 | 48,...]},0,[{'payload',100,'h264',float(),'undefined','undefined',[]},...],[49 | 61 | 68 | 73 | 97 | 99 | 107 | 114 | 116,...],<<_:32>>,<<_:232>>,'undefined'},...]) will never return since it differs in the 1st argument from the success typing arguments: (#media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]})
src/sdp_tests.erl:362: Guard test #media_info{flow_type::'stream',audio::[{_,_,_,_,_,_,_,_,_,_}],video::[{_,_,_,_,_,_,_,_,_,_}],metadata::[],options::[{_,_},...]} =:= __X::[{'media_desc','video',{_,_},0,[any(),...],[any(),...],<<_:32>>,<<_:232>>,'undefined'},...] can never succeed
src/sdp_tests.erl:444: Function will never be called
src/sdp_tests.erl:458: Record construction #stream_info{content::'video',stream_id::1,codec::'h264',config::<<_:264>>,params::#video_params{width::640,height::480,fps::0},timescale::float(),options::[]} violates the declared type of field bitrate::non_neg_integer() and timescale::non_neg_integer()
src/sdp_tests.erl:480: Record construction #stream_info{content::'audio',stream_id::2,codec::'aac',config::<<_:16>>,params::#audio_params{channels::2,sample_rate::44100},timescale::float(),options::[]} violates the declared type of field bitrate::non_neg_integer() and timescale::non_neg_integer()
src/sdp_tests.erl:497: Record construction #stream_info{content::'audio',stream_id::2,codec::'pcma',params::#audio_params{channels::1,sample_rate::8000},timescale::8,options::[{'port',7878},...]} violates the declared type of field bitrate::non_neg_integer()
src/sdp_tests.erl:638: Function will never be called
src/sdp_tests.erl:643: Record construction #stream_info{content::'video',stream_id::1,codec::'pcma',params::#video_params{width::0,height::0,fps::0},timescale::90,options::[{'connect',{'inet4',[46 | 48 | 49 | 50 | 51,...]}} | {'control',<<_:72>>} | {'port',1500},...]} violates the declared type of field bitrate::non_neg_integer()
src/sdp_tests.erl:660: Function will never be called
src/shoutcast_reader.erl:224: Record construction #media_info{audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[],metadata::[],options::[]} violates the declared type of field flow_type::'file' | 'stream'
src/shoutcast_writer.erl:157: The pattern 'undefined' can never match the type [#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}]
src/sip/apps_sip.erl:106: The call rtmp_socket:status(Socket::any(),0,#{#<78>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<67>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<99>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<105>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<46>(8, 1, 'integer', ['unsigned', 'big']), #<83>(8, 1, 'integer', ['unsigned', 'big']), #<105>(8, 1, 'integer', ['unsigned', 'big']), #<112>(8, 1, 'integer', ['unsigned', 'big']), #<67>(8, 1, 'integer', ['unsigned', 'big']), #<97>(8, 1, 'integer', ['unsigned', 'big']), #<108>(8, 1, 'integer', ['unsigned', 'big']), #<108>(8, 1, 'integer', ['unsigned', 'big'])}#,{'object',[{'in_stream',_} | {'out_stream',_},...]}) will never return since it differs in the 4th argument from the success typing arguments: (pid(),non_neg_integer(),binary() | string(),binary() | string())
src/sip/apps_sip.erl:110: The call rtmp_socket:status(Socket::any(),0,#{#<78>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<67>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<99>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<105>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<46>(8, 1, 'integer', ['unsigned', 'big']), #<73>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<99>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<109>(8, 1, 'integer', ['unsigned', 'big']), #<105>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<103>(8, 1, 'integer', ['unsigned', 'big']), #<67>(8, 1, 'integer', ['unsigned', 'big']), #<97>(8, 1, 'integer', ['unsigned', 'big']), #<108>(8, 1, 'integer', ['unsigned', 'big']), #<108>(8, 1, 'integer', ['unsigned', 'big'])}#,{'object',[{'calling_id',_},...]}) will never return since it differs in the 4th argument from the success typing arguments: (pid(),non_neg_integer(),binary() | string(),binary() | string())
src/sip/apps_sip.erl:114: The call rtmp_socket:status(Socket::any(),0,#{#<78>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<67>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big']), #<99>(8, 1, 'integer', ['unsigned', 'big']), #<116>(8, 1, 'integer', ['unsigned', 'big']), #<105>(8, 1, 'integer', ['unsigned', 'big']), #<111>(8, 1, 'integer', ['unsigned', 'big']), #<110>(8, 1, 'integer', ['unsigned', 'big']), #<46>(8, 1, 'integer', ['unsigned', 'big']), #<66>(8, 1, 'integer', ['unsigned', 'big']), #<121>(8, 1, 'integer', ['unsigned', 'big']), #<101>(8, 1, 'integer', ['unsigned', 'big'])}#,{'object',[]}) will never return since it differs in the 4th argument from the success typing arguments: (pid(),non_neg_integer(),binary() | string(),binary() | string())
src/sip/ems_sip_flashphone.erl:434: Record construction #sdp_o{username::[45,...],sessionid::string(),version::[49,...],netaddrtype::'inet'} violates the declared type of field netaddrtype::'inet4' | 'inet6' and address::'undefined' | string()
src/sip/ems_sip_flashphone.erl:643: Record construction #sip_cb_state{pid::'undefined' | pid(),media::pid() | {'ems_media',_,_,_,_,atom() | tuple(),_,_,_,_,_,_,_,_,_,_,_,_,'undefined' | reference(),_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_},rtp::'undefined' | pid(),rtmp::'undefined' | pid(),stream_in::'undefined' | binary(),stream_out::'undefined' | binary(),sdp::binary(),tu::'undefined' | pid(),client::'undefined' | pid(),client_ref::'undefined' | reference(),progress_timeout::'undefined' | integer(),dialog_timeout::'undefined' | integer(),opp_request::'undefined' | tuple(),opp_response::'undefined' | tuple(),request::'undefined' | tuple(),origin::'undefined' | tuple()} violates the declared type of field media::'undefined' | pid() and sdp::'undefined' | [binary()] and response::'undefined' | tuple()
src/sip/ems_sip_flashphone.erl:671: Record construction #sdp_o{username::[45,...],sessionid::string(),version::[49,...],netaddrtype::'inet'} violates the declared type of field netaddrtype::'inet4' | 'inet6' and address::'undefined' | string()
src/sip/ems_sip_flashphone.erl:685: Function will never be called
src/sip/ems_sip_flashphone.erl:688: Function will never be called
src/sip/ems_sip_flashphone.erl:716: Matching of pattern [StreamInfo = {'stream_info', _, _, 'pcma', _, _, _, {'audio_params', _, 8000}, _, SOptions} | _] tagged with a record name violates the declared type of #stream_info{content::'audio' | 'metadata' | 'video',stream_id::1,codec::'speex',bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()},timescale::non_neg_integer()}
src/sip/ems_sip_flashphone.erl:719: Matching of pattern [StreamInfo = {'stream_info', _, _, 'pcma', _, _, _, {'audio_params', _, 8000}, _, _} | _] tagged with a record name violates the declared type of #stream_info{content::'audio' | 'metadata' | 'video',stream_id::1,codec::'speex',bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()},timescale::non_neg_integer()}
src/test/ems_media_flow_tests.erl:97: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_flow_tests.erl:100: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_flow_tests.erl:125: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_flow_tests.erl:128: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:65: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:67: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:75: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:81: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:83: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:92: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:96: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:105: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:107: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:114: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:120: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:122: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:130: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:134: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:145: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_media_timeout_tests.erl:151: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:62: Matching of pattern {'media_info', 'file', [{'stream_info', 'audio', 2, 'aac', <<17:8/integer-unit:1,144:8/integer-unit:1>>, 'undefined', 'undefined', _, _, _}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,25:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,171:8/integer-unit:1,32:8/integer-unit:1,40:8/integer-unit:1,51:8/integer-unit:1,243:8/integer-unit:1,224:8/integer-unit:1,34:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,2:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,97:8/integer-unit:1,30:8/integer-unit:1,40:8/integer-unit:1,84:8/integer-unit:1,144:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, 'undefined', {'video_params', 320, 180, _}, _, _}], [], 1.99893333333333321207e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:126: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:128: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:129: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:150: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:151: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:152: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/ems_test_file_reading.erl:173: Matching of pattern {'media_info', 'file', [{'stream_info', 'audio', 2, 'aac', <<17:8/integer-unit:1,144:8/integer-unit:1>>, 'undefined', <<101:8/integer-unit:1,110:8/integer-unit:1,103:8/integer-unit:1>>, _, _, _}, {'stream_info', 'audio', 3, 'aac', <<17:8/integer-unit:1,144:8/integer-unit:1>>, 'undefined', <<103:8/integer-unit:1,101:8/integer-unit:1,114:8/integer-unit:1>>, _, _, _}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,25:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,171:8/integer-unit:1,32:8/integer-unit:1,40:8/integer-unit:1,51:8/integer-unit:1,243:8/integer-unit:1,224:8/integer-unit:1,34:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,2:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,97:8/integer-unit:1,30:8/integer-unit:1,40:8/integer-unit:1,84:8/integer-unit:1,144:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, 'undefined', {'video_params', 320, 180, _}, _, _}], _, 1.99893333333333321207e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:214: Matching of pattern {'media_info', 'file', [{'stream_info', 'audio', 2, 'mp3', 'undefined', 'undefined', 'undefined', _, _, _}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,25:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,171:8/integer-unit:1,32:8/integer-unit:1,40:8/integer-unit:1,51:8/integer-unit:1,243:8/integer-unit:1,224:8/integer-unit:1,34:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,2:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,97:8/integer-unit:1,30:8/integer-unit:1,40:8/integer-unit:1,84:8/integer-unit:1,144:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, 'undefined', {'video_params', 320, 180, _}, _, _}], [], 2.0016e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:251: Matching of pattern {'media_info', 'file', [], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,25:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,171:8/integer-unit:1,32:8/integer-unit:1,40:8/integer-unit:1,51:8/integer-unit:1,243:8/integer-unit:1,224:8/integer-unit:1,34:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,2:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,97:8/integer-unit:1,30:8/integer-unit:1,40:8/integer-unit:1,84:8/integer-unit:1,144:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, 'undefined', {'video_params', 320, 180, _}, _, _}], [], 1.99583333333333321207e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:274: Matching of pattern {'media_info', 'file', [], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,25:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,13:8/integer-unit:1,171:8/integer-unit:1,32:8/integer-unit:1,40:8/integer-unit:1,51:8/integer-unit:1,243:8/integer-unit:1,224:8/integer-unit:1,34:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,2:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,97:8/integer-unit:1,30:8/integer-unit:1,40:8/integer-unit:1,84:8/integer-unit:1,144:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,206:8/integer-unit:1,60:8/integer-unit:1,128:8/integer-unit:1>>, _, _, {'video_params', 320, 180, _}, _, _}], [], 2.0e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[],video::[#stream_info{content::'video',stream_id::1,codec::atom(),config::'undefined' | binary(),bitrate::non_neg_integer(),params::#video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::1,options::[]}],metadata::[],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:296: Matching of pattern {'media_info', 'file', [{'stream_info', 'audio', 2, 'mp3', 'undefined', _, _, {'audio_params', _, _}, _, _}], [{'stream_info', 'video', 1, 'sorenson', 'undefined', _, _, {'video_params', 320, 180, _}, _, _}], [], 2.0062e+4, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[],video::[#stream_info{content::'video',stream_id::1,codec::atom(),config::'undefined' | binary(),bitrate::non_neg_integer(),params::#video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::1,options::[]}],metadata::[],duration::'undefined' | non_neg_integer(),options::[]}
src/test/ems_test_file_reading.erl:345: Matching of pattern {'media_info', 'file', [{'stream_info', 'audio', _, 'aac', <<17:8/integer-unit:1,144:8/integer-unit:1>>, _, _, _, _, _}], [{'stream_info', 'video', 1, 'h264', <<1:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,30:8/integer-unit:1,255:8/integer-unit:1,225:8/integer-unit:1,0:8/integer-unit:1,21:8/integer-unit:1,103:8/integer-unit:1,66:8/integer-unit:1,192:8/integer-unit:1,30:8/integer-unit:1,217:8/integer-unit:1,3:8/integer-unit:1,197:8/integer-unit:1,104:8/integer-unit:1,64:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,3:8/integer-unit:1,0:8/integer-unit:1,64:8/integer-unit:1,0:8/integer-unit:1,0:8/integer-unit:1,12:8/integer-unit:1,3:8/integer-unit:1,197:8/integer-unit:1,139:8/integer-unit:1,146:8/integer-unit:1,1:8/integer-unit:1,0:8/integer-unit:1,4:8/integer-unit:1,104:8/integer-unit:1,203:8/integer-unit:1,140:8/integer-unit:1,178:8/integer-unit:1>>, _, _, {'video_params', 240, 160, _}, _, _}], [], 5.96416666666666627862e+5, _} tagged with a record name violates the declared type of #media_info{flow_type::'file',audio::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],video::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],metadata::[#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | string(),params::#audio_params{channels::non_neg_integer(),sample_rate::non_neg_integer()} | #video_params{width::non_neg_integer(),height::non_neg_integer(),fps::non_neg_integer()},timescale::non_neg_integer()}],duration::'undefined' | non_neg_integer(),options::[]}
src/test/rtmp_publish_tests.erl:47: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/rtmp_read_tests.erl:54: The variable _ can never match since previous clauses completely covered the type 'false'
src/test/rtmp_read_tests.erl:55: Matching of pattern [F = {'video_frame', Content, _, _, _, _, _, _, [Command | _], _} | _] tagged with a record name violates the declared type of #video_frame{content::'audio' | 'metadata' | 'video',dts::number(),pts::number(),stream_id::non_neg_integer(),codec::atom(),flavor::'config' | 'disposable' | 'frame' | 'keyframe' | 'undefined',sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'},body::binary()}
src/test/rtmp_read_tests.erl:56: The pattern [{'video_frame', 'metadata', _, _, _, _, _, _, [<<111:8/integer-unit:1,110:8/integer-unit:1,77:8/integer-unit:1,101:8/integer-unit:1,116:8/integer-unit:1,97:8/integer-unit:1,68:8/integer-unit:1,97:8/integer-unit:1,116:8/integer-unit:1,97:8/integer-unit:1>>, {'object', Body}], _}] can never match the type []
src/test/test_media.erl:58: Record construction #media_info{audio::[],video::[],metadata::[],options::[]} violates the declared type of field flow_type::'file' | 'stream'
src/video_frame.erl:46: Record construction #video_frame{content::'video',dts::0,pts::0,stream_id::0,codec::'h264',flavor::'config',sound::{'undefined','undefined','undefined'}} violates the declared type of field sound::'undefined' | {'mono','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} | {'stereo','bit16' | 'bit8','rate11' | 'rate22' | 'rate44' | 'rate5'} and body::binary()
src/video_frame.erl:81: The variable _ can never match since previous clauses completely covered the type [#stream_info{content::'audio' | 'metadata' | 'video',stream_id::non_neg_integer(),codec::atom(),bitrate::non_neg_integer(),language::'undefined' | [any()],params::{_,_,_} | {_,_,_,_},timescale::non_neg_integer()}]
src/video_frame.erl:92: Record construction #stream_info{content::'audio',stream_id::pos_integer(),codec::'aac',config::<<_:8,_:_*8>>,params::#audio_params{channels::0 | 1 | 2 | 3 | 4 | 5 | 6 | 7,sample_rate::non_neg_integer()},timescale::1,options::[]} violates the declared type of field bitrate::non_neg_integer()
src/video_frame.erl:106: Record construction #stream_info{content::'video',stream_id::pos_integer(),codec::'h264',config::<<_:48,_:_*8>>,params::#video_params{width::non_neg_integer(),height::non_neg_integer(),fps::0},timescale::1,options::[]} violates the declared type of field bitrate::non_neg_integer()
src/video_frame.erl:128: Record construction #stream_info{content::'video',stream_id::0,codec::atom(),params::#video_params{width::non_neg_integer(),height::non_neg_integer(),fps::0},timescale::1,options::[]} violates the declared type of field bitrate::non_neg_integer()
src/video_frame.erl:139: Record construction #audio_params{channels::'mono' | 'stereo',sample_rate::'rate11' | 'rate22' | 'rate44' | 'rate5'} violates the declared type of field channels::non_neg_integer() and sample_rate::non_neg_integer()
Unknown functions:
asf:open/2
commercial:start/0
ems_flow_temp:flow/0
ems_http_commercial_api:http/4
ems_sound:init/1
ems_sound:transcode/2
erlydtl:compile/2
esip:'#get-h_contact'/2
esip:'#get-h_from'/2
esip:'#get-h_to'/2
esip:'#get-mheaders'/2
esip:'#get-origin'/2
esip:'#get-request'/2
esip:'#get-response'/2
esip:'#get-sip_uri'/2
esip:'#new-h_contact'/1
esip:'#new-response'/1
esip:'#new-sip_uri'/1
esip:'#set-response'/2
esip:default_port/0
esip:run/0
esip:set_config/1
esip:uri/2
esip_dialog:call_worker/2
esip_dialog:create_ror/3
esip_dialog:start_worker/3
esip_dialog_sup:start_mod_sup/1
esip_dialog_sup:start_worker/2
esip_headers:c_uri/1
esip_parser_util:p_host/1
esip_registrator:find/1
esip_registrator:get/1
esip_registrator:register/2
esip_registrator:register/4
esip_registrator:set_dialog/2
esip_transaction_sup:start_user/1
esip_transaction_user:async_event/2
esip_util:code_str/1
hls_media:accumulate/2
hls_media:init/1
hls_media:playlist/1
hls_media:segment/2
iphone_template:render/1
microtcp:close/1
mochiweb_mime:from_extension/1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment