[PD-dev] oggread~ not working on pd-extended or libpd on windows.
Rafael Vega
email.rafa at gmail.com
Sat Apr 5 03:50:39 CEST 2014
Forgot to say: this fixes my issue, I can now open and play ogg files.
On Fri, Apr 4, 2014 at 8:49 PM, Rafael Vega <email.rafa at gmail.com> wrote:
> Even more stuff ;)
>
> In the same file, oggread~.c there is a line that reads:
>
> if((x->x_file = sys_fopen(filename->s_name, "r")) < 0)
>
> But it should be:
>
> if((x->x_file = sys_fopen(filename->s_name, "rb")) <= 0)
>
> Now, to figure out how to submit a patch to pd-extended :P
>
>
>
>
>
> On Fri, Apr 4, 2014 at 7:22 PM, Rafael Vega <email.rafa at gmail.com> wrote:
>
>> Follow up:
>>
>> Looking at the code for oggread~, I found that it does the actual opening
>> of the file with
>>
>> if(ov_open(x->x_file, &x->x_ov, NULL, -1) < 0)
>>
>> on the ov_open documentation it warns windows programmers not to use
>> ov_open but ov_open_callbacks instead [1] and [2] so I changed that line to
>> the following and I'm getting the message "Bitstream does not contain any
>> Vorbis data". I'm pretty sure my file is a valid ogg file. I created it
>> using audacity and also tried with an ogg file downloaded from
>> freesound.org.
>>
>> Any help with this will be very much appreciated
>>
>> :)
>>
>>
>> int ret = ov_open_callbacks(x->x_file, &x->x_ov, NULL, -1,
>> OV_CALLBACKS_DEFAULT);
>> switch(ret){
>> case OV_EREAD:
>> post("A read from media returned an error.");
>> break;
>> case OV_ENOTVORBIS:
>> post("Bitstream does not contain any Vorbis data");
>> break;
>> case OV_EVERSION:
>> post("OV_EVERSION - Vorbis version mismatch.");
>> break;
>> case OV_EBADHEADER:
>> post("Invalid Vorbis bitstream header.");
>> break;
>> case OV_EFAULT:
>> post("Internal logic fault; indicates a bug or heap/stack
>> corruption.");
>> break;
>> }
>> if(ret <0)
>>
>>
>>
>> links:
>>
>> [1] http://xiph.org/vorbis/doc/vorbisfile/ov_open_callbacks.html
>> [2] http://xiph.org/vorbis/doc/vorbisfile/ov_open.html
>>
>>
>>
>> On Fri, Apr 4, 2014 at 5:48 PM, Rafael Vega <email.rafa at gmail.com> wrote:
>>
>>> Hi.
>>>
>>> I am trying to use [oggread~] external on an application i'm developing
>>> with libpd. No problems on mac or linux. Howerver, on windows (xp and 8,
>>> 32bit) I keep getting an error message from oggread~ when I try to open an
>>> ogg file. Even ogg_read~-help.pd won't work:
>>>
>>> oggread~: file "C:/Users/rv/any.ogg" opened
>>> oggread~: error: could not open "C:/Users/rv/Desktop/any.ogg" as an
>>> OggVorbis file
>>> oggread~: file closed due to error
>>>
>>> I have tried pd-extended (both installer and standalone) and I also
>>> compiled oggread~ into my application and loaded it with libpd, same
>>> outcome.
>>>
>>> The weirdest part is that if I run pd vanilla, copy oggread~.dll from
>>> pd-extended into the "extra" directory, the ogg files are opened correctly.
>>>
>>> Any ideas on how to make this work? What kind of debug info can I
>>> provide?
>>>
>>> --
>>> Rafael Vega
>>> email.rafa at gmail.com
>>>
>>
>>
>>
>> --
>> Rafael Vega
>> email.rafa at gmail.com
>>
>
>
>
> --
> Rafael Vega
> email.rafa at gmail.com
>
--
Rafael Vega
email.rafa at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20140404/7ad9a3f1/attachment-0001.htm>
More information about the Pd-dev
mailing list