On 10/27/2018 3:50 PM, Mark Thompson wrote: > This reverts commit 6dbb64fdccafe846aaec75d3784f7ad49d8af5df. > > The additional braces cause build errors with Linux headers earlier > than 4.5 because the first element of the structure was not originally > a union. > --- > Not sure what compiler was warning about these, but it's definitely incorrect > for it to do so. Maybe an old gcc? Recent gcc should have this fixed - see > <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119>.
Clang seems to do it as well. See http://ffmpeg.org/pipermail/ffmpeg-devel/2018-October/235632.html You could initialize it setting the three fields directly, or use a memset. > > > libavcodec/v4l2_m2m_enc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c > index 636e1a96dd..4c9ea1fd92 100644 > --- a/libavcodec/v4l2_m2m_enc.c > +++ b/libavcodec/v4l2_m2m_enc.c > @@ -48,7 +48,7 @@ static inline void v4l2_set_timeperframe(V4L2m2mContext *s, > unsigned int num, un > > static inline void v4l2_set_ext_ctrl(V4L2m2mContext *s, unsigned int id, > signed int value, const char *name) > { > - struct v4l2_ext_controls ctrls = { { 0 } }; > + struct v4l2_ext_controls ctrls = { 0 }; > struct v4l2_ext_control ctrl = { 0 }; > > /* set ctrls */ > @@ -68,7 +68,7 @@ static inline void v4l2_set_ext_ctrl(V4L2m2mContext *s, > unsigned int id, signed > > static inline int v4l2_get_ext_ctrl(V4L2m2mContext *s, unsigned int id, > signed int *value, const char *name) > { > - struct v4l2_ext_controls ctrls = { { 0 } }; > + struct v4l2_ext_controls ctrls = { 0 }; > struct v4l2_ext_control ctrl = { 0 }; > int ret; > > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel