After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 325999 - [mad] queries in BYTE format return wrong values
[mad] queries in BYTE format return wrong values
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other All
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-01-06 17:22 UTC by Alessandro Decina
Modified: 2006-01-23 13:10 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
script to preproduce the bug (1.43 KB, text/plain)
2006-01-06 17:23 UTC, Alessandro Decina
Details

Description Alessandro Decina 2006-01-06 17:22:35 UTC
Please describe the problem:
here's the output of a script to reproduce the bug:
$ python querypos.py honolulu.mp3
duration 3639296
last_src_position 3639296
last_mad_position 32076288

$ wc -c honolulu.mp3
3639296 honolulu.mp3

as you can see, the position returned by mad is wrong.
honolulu.mp3 is at http://gstreamer.freedesktop.org/media/medium/honolulu.mp3

Steps to reproduce:
1. 
2. 
3. 


Actual results:


Expected results:


Does this happen every time?


Other information:
Comment 1 Alessandro Decina 2006-01-06 17:23:53 UTC
Created attachment 56870 [details]
script to preproduce the bug
Comment 2 Tim-Philipp Müller 2006-01-19 16:16:39 UTC
I think there might be a misunderstanding about what mad is supposed to return. If you query mad for a BYTE position or duration on the source pad, it will return the position/duration in terms of raw audio output (ie. the format it emits on the source pad), so this has nothing to do with the byte position the parser is in in the .mp3 file.

IMHO it should just return FALSE to a BYTES query on the source pad btw, I don't see how this is useful (what are you using it for btw?)
Comment 3 Alessandro Decina 2006-01-19 19:10:50 UTC
Oh, thanks for the explaination.

Serpentine used to query fakesink in a pipeline like filesrc ! decodebin ! fakesink and was getting (with 0.10) query_position > query_duration. Now it uses FORMAT_TIME.