#3043 closed enhancement (fixed)
RFE: Implement updated comment header packets in OGG/vorbis streams
Reported by: | Ben Boeckel | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avformat |
Version: | git-master | Keywords: | ogg vorbis |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
I am looking to implement this feature, but am unsure of how best to approach it. It looks like the best thing to do would be to have libavcodec/vorbisdec.c:1741 set some flag to indicate that a new header should be parsed from the stream using libavformat (since this is where the comment/metadata parsing currently exists and it looks like just moving it into libavcodec would get pretty hairy).
The end goal is to have mpv output new titles, artist, etc. updates from an mpd stream (currently, only the first metadata packet is used).
Tracked for mpd on its issue tracker[1].
Change History (7)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
It's not really a failure in ffmpeg. I'm mainly looking at implementing code behind the comment[1] about ignoring vorbis comment headers. Here[2] is my post to the MPlayer list about the problem; I'll get master output from ffmpeg when I'm back at a computer.
[1]https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/vorbisdec.c#L1741
[2]http://permalink.gmane.org/gmane.comp.video.mplayer.devel/62484
comment:3 by , 11 years ago
This is output from playing a -dumpstream
from an MPD build with tags in it (note the "Ignoring comment header" line when MPD changed tracks):
% ../ffmpeg/bin/ffplay mpd-0.15.8.dump.ogg ffplay version N-57001-g65c2fe7 Copyright (c) 2003-2013 the FFmpeg developers built on Oct 9 2013 23:05:22 with gcc 4.8.1 (GCC) 20130920 (Red Hat 4.8.1-10) configuration: --prefix=/home/boeckb/misc/root/ffmpeg libavutil 52. 46.101 / 52. 46.101 libavcodec 55. 35.100 / 55. 35.100 libavformat 55. 19.100 / 55. 19.100 libavdevice 55. 4.100 / 55. 4.100 libavfilter 3. 88.101 / 3. 88.101 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 17.103 / 0. 17.103 [ogg @ 0x3409460] Cannot identify new stream 0KB sq= 0B f=0/0 [ogg @ 0x3409460] failed to create or replace stream [ogg @ 0x3409460] Estimating duration from bitrate, this may be inaccurate Input #0, ogg, from 'mpd-0.15.8.dump.ogg': Duration: 00:02:18.05, start: 0.000000, bitrate: 109 kb/s Stream #0:0: Audio: vorbis, 44100 Hz, mono, fltp, 110 kb/s Metadata: COMPOSER : Christopher Tin & Shoji Kameda TITLE : A Rapture DATE : 2012-02-14 DISC : 1 album_artist : Stereo Alchemy ALBUM : God of Love ARTIST : Stereo Alchemy TRACK : 1 [vorbis @ 0x340e640] Invalid packet1KB vq= 0KB sq= 0B f=0/0 Last message repeated 1 times [vorbis @ 0x340e640] Invalid packet1KB vq= 0KB sq= 0B f=0/0 [vorbis @ 0x340e640] Ignoring comment header 0KB sq= 0B f=0/0 ^C%
follow-up: 5 comment:4 by , 11 years ago
An initial stab at the implementation is on my GitHub fork[1] of the mirror repository there. The next step is to get avformat to signal that there is new metadata available, but I'm unsure of how to best approach this. Any guidance?
[1]https://github.com/mathstuf/FFmpeg/tree/dev/update-ogg-tags-in-stream
comment:5 by , 11 years ago
Replying to mathstuf:
Any guidance?
Unfortunately, most developers do not comment on patches posted here, consider posting your patch (or pointing to your github repository) on the ffmpeg-devel mailing list where developers will (hopefully) reply.
comment:6 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
These patches have been merged[1].
[1]http://git.videolan.org/?p=ffmpeg.git;a=commit;h=5a633ec2dd453c67ff23819c28d98e6b09c47295
comment:7 by , 11 years ago
Component: | avcodec → avformat |
---|---|
Keywords: | ogg added |
Priority: | normal → wish |
Version: | 2.0.1 → git-master |
Please test current git head and add a failing ffmpeg command line together with the complete, uncut console output to make this a valid ticket.