Commit Graph
453 Commits
Author SHA1 Message Date
beveloper d20d5c94f4 temporary crash fix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-28 18:23:50 +00:00
shatty 97a08414e0 accurate frame count and duration computation. SoundPlay seems to behave /slightly/ better now. At least it stopped machine-gun playing the files. unfortunately the caching packet implementation seems to come with a drawback. the granulepos is only valid on the initial traversal through the file. not sure why but this means that we only get one shot at computing the frame count and duration, so I cached them for the time being. it would be nice to be clever about recomputing the frame count and duration in the face of changing file sizes (downloads) and not traverse the whole file anyway, but this will require some more work. also we may (will?) need those granulepos for seek.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-26 10:51:54 +00:00
shatty 992d3cc594 std::vector<void*> crashes gcc 991026, so I switched to a vector of stream serialno, and use the stream serialno through the serial->OggStream* map to get back the OggStream * cookie for AllocateCookie. (whew!) casting the pointer to int probably would work too but this solution seems less hackish.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-26 00:22:56 +00:00
beveloper 6e2ff16018 small test, but this resync thing doesn't work well
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 22:07:07 +00:00
shatty 05116a366a do not fail if GetFormatFor fails, instead spit out a TRACE message and then use a default format, with the user_data field populated so that MediaPlayer can give a somewhat helpful error message
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 21:33:28 +00:00
shatty 79b7954ccf somewhat more fun duration stuff.. for testing purposes only
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 14:38:18 +00:00
shatty 96fea92979 static variables in functions are all fun and good until you realize that they are not equivalent to class level variables when that function is a method
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 12:49:33 +00:00
shatty 801227279c static variables in functions are all fun and good until you realize that they are not equivalent to class level variables when that function is a method
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 12:45:14 +00:00
shatty a511a51332 perfect replay
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 11:55:27 +00:00
shatty 170d6e3fbc I pronounce it Good!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 11:37:10 +00:00
shatty eb62634484 fixed some sizeof bugs and added more tracing for error returns
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 08:23:07 +00:00
shatty fff3b1f17b tolerate more badness from BMediaFormats, added theora formats, cleaned up theora header parsing
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 07:58:23 +00:00
shatty d1d448fc86 factored out description and default format construction and made them available through ogg, use these in case BMediaFormats fails -- like it does with the tobias streams for right now
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 07:43:32 +00:00
shatty 4644ba227a fix the lockup at end of ogg bug - return an error in GetPacket when GetNextPage or GetPageAt fails
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 07:00:45 +00:00
shatty 9b57d8a926 yay for speex
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 06:39:59 +00:00
shatty 89ea295e8e divide by 32000 to reduce volume
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 06:35:25 +00:00
shatty 33732c29f1 important seek friends
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 06:33:19 +00:00
shatty 07ae6ce8a6 ogg pseudo-seeking
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 06:04:28 +00:00
shatty 38e18d350e more reliable format retrieval
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 06:02:45 +00:00
shatty 48a06864d0 fixed registration for mpeg 1 layer 1 & 2
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 05:12:45 +00:00
shatty ee154dc212 improved use of formats.MakeFormatFor
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-25 04:48:07 +00:00
shatty f14460063c Ogg Reader 2.0d0
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-24 21:50:32 +00:00
beveloper a3d7ce0637 initial support for reading OpenDML AVI files
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-24 17:06:57 +00:00
beveloper bc98a76793 added MP3 in WAV format IDs
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6255 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-24 16:58:18 +00:00
beveloper 40d68dd219 removed codec registration bug, raw formats working again
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-24 16:55:14 +00:00
beveloper 174654a4ee fixed playback problems and made start_time calculation more reliable
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-24 16:53:22 +00:00
beveloper 16611de7ce spelling fix
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-23 16:26:55 +00:00
Axel Dörfler a0a20160cd Updated all decoders to the changed codec API (from meta_descriptions to
BMediaFormats based detection).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-23 07:55:01 +00:00
shatty cd6a9248db adjust framecount/duration for mono/stereo, add channel_mask to vorbis header parsing, compute a "convenient" buffer size for speex decoding
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 22:59:28 +00:00
shatty 194748a1ba speex output length multiply by channel count
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 22:25:13 +00:00
shatty 43ffdb6608 sound production.. somewhat mangled
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 22:21:21 +00:00
shatty f785208b00 added extern "C" protect for speex_stereo.h, bug submitted back to author
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 20:00:23 +00:00
shatty 67ab3b5bed removed extra ogg lib link but still having link failure
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 11:34:36 +00:00
shatty f9df549e6f stupid linker bug... why?
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 11:21:49 +00:00
shatty 18bffde638 no need for ogg header
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-21 10:30:27 +00:00
shatty 955c0efddc makes noise in nplay, MediaPlayer will not use it, nothing sounds good
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 10:51:41 +00:00
shatty 59ad518ef7 speex parsing tweaks including copy of SpeexHeader from speex_header.h
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 09:58:35 +00:00
shatty 8000f68ada code cleanup based on speex
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6194 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 09:55:07 +00:00
shatty e248c06496 add speex codec shell and lib
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 07:21:16 +00:00
shatty 7aca40c2c3 reverse encoding order
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 07:21:03 +00:00
shatty ec9c7fd2fc fix quoting error
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 07:19:27 +00:00
shatty 3b8d4ddc65 incorporated my private dprintf patches, avcodec now building
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 06:46:42 +00:00
shatty 830ac450b6 ogg complete parsing of speex, tobias video, vorbis headers, including "friendly" strings for MediaPlayer missing codec errors
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 06:10:42 +00:00
shatty c084ed96f3 separate out codec id and properties into a different file, add identification and format setup for tobias video (typically mpeg4) and speex codec (by observation, not spec)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 04:03:23 +00:00
shatty 2b1709d4df remove antiquated fOutput, improve bitrate checks, re-order initialization, added frame_size = sizeof(ogg_packet)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 01:35:03 +00:00
Axel Dörfler 09d31e11ec Now sets the mediaHeader->start_time in Decode() (hopefully correct).
Also fixed a crashing bug if the decoder was not setup with data from
the MusePackReader.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 01:06:43 +00:00
shatty e2b605b45c ogg/vorbis update to MetaData. ogg update to do codec identification for vorbis, and to meta-data all header packets for each stream
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-20 00:29:53 +00:00
Axel Dörfler 9aa7863ddb Added some missing pieces to get the engine to work with our codec API.
It's even working a bit (you hear something that's at least similar to
what you should hear :).
Since the underlying engine doesn't differentiate between container and
contents, this looks like a hack, too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-19 23:38:44 +00:00
Axel Dörfler af18100b2f Fixed class inheritance so that the decoder will be found as well.
RegisterPlugin() didn't return B_OK.
Removed unused headers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-19 23:13:31 +00:00
Axel Dörfler e74116611d The MPC_decoder class now contains a pointer to the StreamInfo set by
SetStreamInfo() (because MusePackDecoder can use this data).
Removed some other unused lines.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6163 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-01-19 23:10:29 +00:00