Commit Graph

72 Commits

Author SHA1 Message Date
Marvin Scholz f37bfd3f62 avformat/dashdec: propagate icy to child AVIOContexts
When the user decides they do not want to to send the Icy-MetaData
header, this should be respected for all requests, not just the first
one.

Fix #5578

Reviewed-by: Liu Steven <lq@chinaffmpeg.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-12-27 14:58:51 -03:00
Michael Niedermayer a0ae4b7df9 Remove redundant ;
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-12-10 16:09:14 +01:00
Jun Zhao e700038990 lavf/dashdec: drop unnecessary check before ff_format_io_close
ff_format_io_close will check the AVIOContext pointer pb, so drop
the unnecessary check before ff_format_io_close.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-11-08 11:39:02 +08:00
Jun Zhao a23c8d75ec lavf/dashenc: enable probesize/max_analyze_duration setting in sub-demuxer
Enable probesize/max_analyze_duration setting when open the sub-demuxer,
it's will be used to minimizing the initial delay.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-11-08 11:39:02 +08:00
vectronic 8c90bb8ebb avformat/dashdec: fix segfault when parsing segmentlist
index into segmentlists_tab was specified as 4 instead of 3 causing invalid access

further fix to: 8135

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: vectronic <hello.vectronic@gmail.com>
2019-09-23 10:06:46 +08:00
vectronic 598962cd3a avformat/dashdec: fix pointer being freed was not allocated
prevent attempt to call xmlFree if val was not allocated
fixes: 8135

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: vectronic <hello.vectronic@gmail.com>
2019-09-23 10:06:08 +08:00
Steven Liu 2e82b50bce avformat/dashdec: reindent code at parse_manifest 2019-09-14 12:54:21 +08:00
Steven Liu e55018ee11 avformat/dashdec: add startNumber parser for segmentlist
and get start_number for compute current segment number.

fix ticket: 7976

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-09-12 10:41:06 +08:00
Steven Liu 2a21487b9e avformat/dashdec: start from the root uri when baseURL is start with '/'
fix ticket: 8097

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-09-02 13:40:19 +08:00
Steven Liu 24f7a8a168 avformat/dashdec: fix code style and remove some empty line 2019-07-10 17:26:33 +08:00
Steven Liu a514244319 avformat/dashdec: fix code style in dash_read_packet 2019-07-05 11:52:49 +08:00
Steven Liu 6e988b75df avformat/dashdec: refine and fix code style of dash_read_header
move the temp variable to the top of the expression paragraph
rename the pls to rep(representation)
2019-07-04 16:11:47 +08:00
Steven Liu 43e0ddd33d avformat/dashdec: simplified code in open_demux_for_component
change from pls->ctx->streams[i]->codecpar to ist->codecpar

Signed-off-by: Steven Liu <lq@onvideo.cn>
2019-07-04 15:08:41 +08:00
sfan5 034b72fc0b avformat/dashdec: Fix reading values from SegmentTimeline inside Period
This was missed in commit e752da5464.
2019-07-01 11:06:06 +08:00
Steven Liu 665759c3c8 avformat/dashdec: check copy_init_section memory alloc result
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-06-14 17:06:40 +08:00
Steven Liu aea524e6e3 avformat/dashdec: add http_proxy, referer and rw_timeout http method support for segments
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-06-14 10:53:26 +08:00
Jun Zhao bf6e0f709b lavf/dashdec: refactoring error handle logic for open_input
refactoring error handle logic for open_input.

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-05-14 17:36:19 +08:00
Jun Zhao c663046b41 lavf/dashdec: fix the coding logic after open_input fail
setting return status following goto will never be executed, so
adjust the location in the code.

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-05-14 17:36:11 +08:00
Steven Liu 613ca7b100 avformat/dashdec: add ProgramInformation parser
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-04-22 12:51:34 +08:00
Carl Eugen Hoyos 4d8875ec23 lavf: Constify the probe function argument.
Reviewed-by: Lauri Kasanen
Reviewed-by: Tomas Härdin
2019-03-21 11:42:17 +01:00
Carl Eugen Hoyos 3aa6208db9 lavf: Constify AVInputFormat pointer. 2019-03-20 18:52:38 +01:00
Paweł Wegner 835ab35ef0 libavformat/dashdec: disable seeking only for live streams.
Signed-off-by: Paweł Wegner <pawel.wegner95@gmail.com>
2019-02-06 13:01:34 +01:00
Gorilla Maguila bb586a9703 avformat/dashdec: refine uri path with double dot process
fix ticket: 7540
2018-12-23 15:18:55 +08:00
Steven Liu ba71ebbbfa avformat/dashdec: add subtitle stream support
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-11-30 16:39:19 +08:00
Andrey Semashev 1035206102 lavf/dashdec: Add webm to the list of allowed extensions.
This is in coherence with dashenc, which can now generate segments with
webm file name extension by default. Dashdec should be able to handle
such streams by default as well.
2018-11-27 11:27:19 +05:30
Steven Liu 7bb90a9449 avformat/dashdec: minus minBufferTime when there have value
fix ticket 7382
2018-09-06 13:40:56 +08:00
Steven Liu ad9b4ecc26 avformat/dashdec: refine compute current fragment for presentation_timeoffset mode
fix ticket id: #7369 #7382.
use ((wallclock - availability_start_time) * timescale -presentation_timeoffset) / duration

Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:33:53 +08:00
Steven Liu d0be0de065 avformat/dashdec: reindent code for previous commit
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:21:33 +08:00
Steven Liu 8eac027cd1 avformat/dashdec: add min_buffer_time process logic
if there have min_buffer_time in playlist, use the min_buffer_time
value for realtime.

Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:20:52 +08:00
Steven Liu e35e915465 avformat/dashdec: add trace message for get the logic output message
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:19:43 +08:00
Steven Liu a222798ef3 avformat/dashdec: reindent code for previous commit
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:17:03 +08:00
Steven Liu 28578e6143 avformat/dashdec: remove redundant code
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:16:29 +08:00
Steven Liu e134c20374 avformat/dashdec: refine adaptionset attribute members
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:15:47 +08:00
Steven Liu f499679e17 avformat/dashdec: refine mpd element of attribute name availabilityEndTime
Signed-off-by: Steven Liu <lq@onvideo.cn>
2018-09-05 14:13:56 +08:00
Colin NG b205635fbc avformat/dashdec: Add a re-entrance check point after an interrupt operation 2018-08-29 16:28:03 +08:00
Jacek Jendrzej 3cff2311ab avformat/dashdec: Fix calc_cur_seg_no if availability_start_time not
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-08-29 15:20:00 +08:00
Michael Niedermayer 46753bfdd0 avformat/dashdec: Fix strlen(rep_id_val) with it being NULL
Fixes: dash-crash-da39a3ee5e6b4b0d3255bfef95601890afd80709.xml

Found-by: Paul Ch <paulcher@icloud.com>
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-08-19 02:47:33 +02:00
sanil 551a029a18 libavformat/dashdec: Support negative value of the @r attrbute of S in SegmentTimeline element.
The following patch supports parsing negative value of the @r attribute of S in SegmentTimeline element.

Example streams:
1. http://dash.edgesuite.net/dash264/TestCases/1c/qualcomm/1/MultiRate.mpd
2. http://dash.edgesuite.net/dash264/TestCases/1c/qualcomm/2/MultiRate.mpd
2018-08-13 16:53:59 +08:00
Colin NG af4c2acddd libavformat/dashdec: Fix for un-free memory
Fixes ticket #7338.
2018-08-08 23:55:25 +02:00
Steven Liu d54ae9b782 avformat/dashdec: remove unused functions and process code
Based on a patch for hls by Richard Shaffer

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-08-07 12:37:02 +08:00
Jacek Jendrzej 0cf5e6b5b4 avformat/dashdec: Fix memleak when resolve_content_path
Can be reproduced with:  valgrind  --leak-check=full  -v ffmpeg -i
http://yt-dash-mse-test.commondatastorage.googleapis.com/media/motion-20120802-manifest.mpd

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-08-07 12:31:55 +08:00
Jacek Jendrzej 2f45378ba1 avformat/dashdec: fix for ticket #7336
fix for ticket #7336

Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-08-07 12:31:49 +08:00
Steven Liu 04b6060616 avformat/dashdec: replace user-agent to user_agent for deprecate warning message 2018-05-24 11:49:04 +08:00
Colin NG 93fc96e199 avformat/dashdec: Fix for ticket 7149 (Segfault when decoding dash streams)
simplify the code to check common init section
2018-05-24 11:49:00 +08:00
Colin NG 9aee574dd0 avformat/dashdec: Fix for ticket 7149 (Segfault when decoding dash streams)
Add NULL pointer check for init_section
2018-05-24 11:48:39 +08:00
Steven Liu 798ae8794e avformat/dashdec: fix compling warning "filename is deprecated"
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2018-04-26 16:19:30 +08:00
guikunzhi 8ea8be5951 fix memory leak of parsing dash MPD
Signed-off-by: guikunzhi <guikunzhi@163.com>
2018-04-26 12:40:52 +08:00
Carl Eugen Hoyos 8592ae1a1e lavf/dashdec: Do not use memcpy() to copy a struct.
Fixes a warning:
libavformat/dashdec.c:1900:65: warning: argument to 'sizeof' in 'memcpy' call is the same pointer type 'struct fragment *' as the destination; expected 'struct fragment' or an explicit length
2018-04-21 22:59:34 +02:00
sanilraut 9e2b4c7ecc libavformat/dashdec: Avoid multiple HTTP requests for initialization segment that is common among all representations
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: sanilraut <raut.sanil@gmail.com>
2018-04-17 14:36:45 +08:00
Steven Liu 6eaaad37f8 Revert "avformat/dashdec: Avoid multiple HTTP requests for initialization segment that is common among all representations"
This reverts commit 4effd1c4a2.
2018-04-17 14:32:27 +08:00