Jan 3, 2021, 23:06 by j...@jonb.org: > On Sun, Jan 3, 2021, at 12:50 PM, Andreas Rheinhardt wrote: > >> >> It would be better if you used ff_alloc_extradata(): It also already >> frees the extradata that might be present. And it does only set the >> extradata_size after the allocation succeeded. But it is of course even >> better if you actually errored out in case of allocation failure. >> >> Furthermore, your patch will lead to "declaration after statement" (or >> something like that) warnings, because FFmpeg only allows variable >> declarations at the beginning of each block (this is a remnant from C90). >> > > Thanks Andreas! > > The patch now uses ff_alloc_extradata, and I moved the bitstream writer into > its own function so it can create the bs variable on the stack. > > I wasn't sure of the best way to error out, since ff_rtp_parse_open doesn't > return an error value. So I log the error and return NULL. Please advise if > there is a better way. >
> + /* Input sample rate (0 = unspecified) */> + bytestream_put_le32 > (&bs, 0); Put in 48000 here. Stream copy will preserve extradata, and we don't want to generate weird streams, even if our decoder ignores this. > + /* Channel count */> + bytestream_put_byte (&bs, > codecpar->channels);> + /* Mapping family */> + bytestream_put_byte > (&bs, 0x0); This will only work for mono and stereo. The decoder will error out if more than 2 channels are present. For now maybe error out if the number of channels is greater than 2? _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".