added some workarounds for haiku, needs to be fixed later...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20830 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -216,15 +216,8 @@ DVBMediaNode::~DVBMediaNode()
|
|||||||
|
|
||||||
delete fDemux;
|
delete fDemux;
|
||||||
|
|
||||||
printf("deleting video buffer group...\n");
|
|
||||||
delete fBufferGroupRawVideo;
|
delete fBufferGroupRawVideo;
|
||||||
printf("deleting video buffer group done\n");
|
|
||||||
|
|
||||||
printf("deleting audio buffer group...\n");
|
|
||||||
// deleting the audio buffer group does hang on Zeta neo,
|
|
||||||
// but works on Haiku and seems to work on Zeta 1.0 with updated media_server
|
|
||||||
delete fBufferGroupRawAudio;
|
delete fBufferGroupRawAudio;
|
||||||
printf("deleting audio buffer group done\n");
|
|
||||||
|
|
||||||
delete fStateList;
|
delete fStateList;
|
||||||
delete fRegionList;
|
delete fRegionList;
|
||||||
@@ -896,15 +889,16 @@ DVBMediaNode::InitDefaultFormats()
|
|||||||
fDefaultFormatRawAudio.type = B_MEDIA_RAW_AUDIO;
|
fDefaultFormatRawAudio.type = B_MEDIA_RAW_AUDIO;
|
||||||
fDefaultFormatRawAudio.u.raw_audio.frame_rate = 48000;
|
fDefaultFormatRawAudio.u.raw_audio.frame_rate = 48000;
|
||||||
fDefaultFormatRawAudio.u.raw_audio.channel_count = 2;
|
fDefaultFormatRawAudio.u.raw_audio.channel_count = 2;
|
||||||
fDefaultFormatRawAudio.u.raw_audio.format = 0; // wildcard
|
// XXX broken in Haiku...
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.format = media_raw_audio_format::B_AUDIO_SHORT;
|
// fDefaultFormatRawAudio.u.raw_audio.format = 0; // wildcard
|
||||||
|
fDefaultFormatRawAudio.u.raw_audio.format = media_raw_audio_format::B_AUDIO_SHORT;
|
||||||
// when set to 0, haiku mixer has problems when diung a format change
|
// when set to 0, haiku mixer has problems when diung a format change
|
||||||
// set to short and debug the buffer_size problem first!
|
// set to short and debug the buffer_size problem first!
|
||||||
fDefaultFormatRawAudio.u.raw_audio.byte_order = B_MEDIA_HOST_ENDIAN;
|
fDefaultFormatRawAudio.u.raw_audio.byte_order = B_MEDIA_HOST_ENDIAN;
|
||||||
fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0; // wildcard
|
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0; // wildcard
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0x1200;
|
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0x1200;
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0x1000;
|
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 0x1000;
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 32768;
|
fDefaultFormatRawAudio.u.raw_audio.buffer_size = 32768;
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 333 * 8;
|
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 333 * 8;
|
||||||
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 512;
|
// fDefaultFormatRawAudio.u.raw_audio.buffer_size = 512;
|
||||||
// when set to anything different from 32768 haiku mixer has problems
|
// when set to anything different from 32768 haiku mixer has problems
|
||||||
|
|||||||
@@ -11,9 +11,10 @@ MediaStreamDecoder::MediaStreamDecoder(get_next_chunk_func next_chunk, void *coo
|
|||||||
status_t
|
status_t
|
||||||
MediaStreamDecoder::SetInputFormat(const media_format &in_format)
|
MediaStreamDecoder::SetInputFormat(const media_format &in_format)
|
||||||
{
|
{
|
||||||
status_t err = BMediaDecoder::InitCheck();
|
// XXX broken in Haiku...
|
||||||
if (err)
|
// status_t err = BMediaDecoder::InitCheck();
|
||||||
return err;
|
// if (err)
|
||||||
|
// return err;
|
||||||
|
|
||||||
return BMediaDecoder::SetTo(&in_format);
|
return BMediaDecoder::SetTo(&in_format);
|
||||||
}
|
}
|
||||||
@@ -22,9 +23,10 @@ MediaStreamDecoder::SetInputFormat(const media_format &in_format)
|
|||||||
status_t
|
status_t
|
||||||
MediaStreamDecoder::SetOutputFormat(media_format *output_format)
|
MediaStreamDecoder::SetOutputFormat(media_format *output_format)
|
||||||
{
|
{
|
||||||
status_t err = BMediaDecoder::InitCheck();
|
// XXX broken in Haiku...
|
||||||
if (err)
|
// status_t err = BMediaDecoder::InitCheck();
|
||||||
return err;
|
// if (err)
|
||||||
|
// return err;
|
||||||
|
|
||||||
return BMediaDecoder::SetOutputFormat(output_format);
|
return BMediaDecoder::SetOutputFormat(output_format);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user