Reimar D?ffinger wrote: > Hello, > attached patch uses macros to eliminate code duplication in MXF metadata > read functions. > > Greetings, > Reimar D?ffinger > > > ------------------------------------------------------------------------ > > Index: libavformat/mxf.c > =================================================================== > --- libavformat/mxf.c (revision 7448) > +++ libavformat/mxf.c (working copy) > @@ -359,26 +443,37 @@ > return 0; > } > > +#define MXF_READ_LOCAL_TAGS_START(typename, ctype, name) \ > + ByteIOContext *pb = &mxf->fc->pb;\ > + ctype *name = av_mallocz(sizeof(*name));\ > + int bytes_read = 0;\ > +\ > + while (bytes_read < klv->length) {\ > + int tag = get_be16(pb);\ > + int size = get_be16(pb); /* KLV specified by 0x53 */\ > +\ > + dprintf("tag 0x%04X, size %d\n", tag, size);\ > + if (!size) { /* ignore empty tag, needed for some files with empty UMID tag */\ > + av_log(mxf->fc, AV_LOG_ERROR, "local tag 0x%04X with 0 size\n", tag);\ > + continue;\ > + }\ need to move bytes_read += size + 4 before continue besides that patch looks ok. -- Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA SMARTJOG S.A. http://www.smartjog.com Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA Phone: +33 1 49966312
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4