GNOME Bugzilla – Bug 738248
wavparse should read the Broadcast Wave Format (BWF)
Last modified: 2018-11-03 14:54:36 UTC
Created attachment 288150 [details] [review] Patch to read the meta data in bext and convert it to tags That means in should not skip, but read the bext chunk. This is necessary to use gstreamer in professional environments, where the data in the bext chunk is used.
Created attachment 288152 [details] [review] gstwavparse: read broadcast wave (bext) chunk Added missing gst_buffer_unmap()
Any comments to the patch?
Review of attachment 288152 [details] [review]: ::: gst/wavparse/gstwavparse.c @@ +220,3 @@ + "BWF/TimeReference", "Broadcast Wave Format: Time reference", NULL); + gst_tag_register (BWF_TAG_VERSION, GST_TAG_FLAG_META, G_TYPE_INT, + "BWF/Version", "Broadcast Wave Format: Version", NULL); Maybe some of the tags can be mapped to already existing tags? @@ +1098,3 @@ + gst_buffer_map (buf, &map, GST_MAP_READ); + + memcpy (txt, map.data, 256); You should check here that actually enough data is available before blindly parsing it.
> Maybe some of the tags can be mapped to already existing tags? Is there an overview of all existing tags available? >You should check here that actually enough data is available before blindly parsing it. Isn't this done with + if ((res = + gst_pad_pull_range (wav->sinkpad, wav->offset + 8, + size, &buf)) != GST_FLOW_OK) + goto header_read_error;
pull_range() might give you a short packet at the end of the file.
Created attachment 290269 [details] [review] gstwavparse: read broadcast wave (bext) chunk Check range before trying to read values.
Review of attachment 290269 [details] [review]: ::: gst/wavparse/gstwavparse.c @@ +220,3 @@ + "BWF/TimeReference", "Broadcast Wave Format: Time reference", NULL); + gst_tag_register (BWF_TAG_VERSION, GST_TAG_FLAG_META, G_TYPE_INT, + "Broadcast Wave Format: Originator reference", NULL); This still holds. Can we please reuse the existing tags, this ensures that they are mapped correctly when transcoding.
This makes absolutely sense, but where do I find a list of existing tags?
(In reply to comment #8) > This makes absolutely sense, but where do I find a list of existing tags? /usr/include/gstreamer-1.0/gst/gsttaglist.h https://developer.gnome.org/gstreamer/stable/gstreamer-GstTagList.html And you will find the same in DevHelp tool.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/132.