Opened 3 years ago
Last modified 18 months ago
#9343 open defect
ORing AVERROR_INPUT_CHANGED and AVERROR_OUTPUT_CHANGED gives AVERROR_INPUT_CHANGED
Reported by: | jrh | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avutil |
Version: | git-master | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
The documentation for AVERROR_INPUT_CHANGED
and AVERROR_OUTPUT_CHANGED
states that the two can be ORed. But AVERROR_INPUT_CHANGED|AVERROR_OUTPUT_CHANGED
gives a value equal to AVERROR_INPUT_CHANGED
.
/libavutil/error.h:
#define AVERROR_INPUT_CHANGED (-0x636e6701) ///< Input changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_OUTPUT_CHANGED) #define AVERROR_OUTPUT_CHANGED (-0x636e6702) ///< Output changed between calls. Reconfiguration is required. (can be OR-ed with AVERROR_INPUT_CHANGED)
Even though the numbers look as if ORing should work as intended, this is not the case because both are negative. The result is that "only input changed" and "both input and output changed" are indistinguishable.
Change History (3)
comment:1 by , 3 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
comment:2 by , 3 years ago
Note:
See TracTickets
for help on using tickets.
But obviously OR means here not simple dumb OR. other such issue is in my patch here: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210604062818.2099-1-val.zapod.vz@gmail.com/