Not serializing a JSON in case we have no audio.
This commit is contained in:
@@ -108,6 +108,10 @@ class ExotelFrameSerializer(FrameSerializer):
|
|||||||
serialized_data = await self._output_resampler.resample(
|
serialized_data = await self._output_resampler.resample(
|
||||||
data, frame.sample_rate, self._exotel_sample_rate
|
data, frame.sample_rate, self._exotel_sample_rate
|
||||||
)
|
)
|
||||||
|
if serialized_data is None or len(serialized_data) == 0:
|
||||||
|
# Ignoring in case we don't have audio
|
||||||
|
return None
|
||||||
|
|
||||||
payload = base64.b64encode(serialized_data).decode("ascii")
|
payload = base64.b64encode(serialized_data).decode("ascii")
|
||||||
|
|
||||||
answer = {
|
answer = {
|
||||||
|
|||||||
@@ -132,6 +132,10 @@ class PlivoFrameSerializer(FrameSerializer):
|
|||||||
serialized_data = await pcm_to_ulaw(
|
serialized_data = await pcm_to_ulaw(
|
||||||
data, frame.sample_rate, self._plivo_sample_rate, self._output_resampler
|
data, frame.sample_rate, self._plivo_sample_rate, self._output_resampler
|
||||||
)
|
)
|
||||||
|
if serialized_data is None or len(serialized_data) == 0:
|
||||||
|
# Ignoring in case we don't have audio
|
||||||
|
return None
|
||||||
|
|
||||||
payload = base64.b64encode(serialized_data).decode("utf-8")
|
payload = base64.b64encode(serialized_data).decode("utf-8")
|
||||||
answer = {
|
answer = {
|
||||||
"event": "playAudio",
|
"event": "playAudio",
|
||||||
|
|||||||
@@ -155,6 +155,10 @@ class TelnyxFrameSerializer(FrameSerializer):
|
|||||||
else:
|
else:
|
||||||
raise ValueError(f"Unsupported encoding: {self._params.inbound_encoding}")
|
raise ValueError(f"Unsupported encoding: {self._params.inbound_encoding}")
|
||||||
|
|
||||||
|
if serialized_data is None or len(serialized_data) == 0:
|
||||||
|
# Ignoring in case we don't have audio
|
||||||
|
return None
|
||||||
|
|
||||||
payload = base64.b64encode(serialized_data).decode("utf-8")
|
payload = base64.b64encode(serialized_data).decode("utf-8")
|
||||||
answer = {
|
answer = {
|
||||||
"event": "media",
|
"event": "media",
|
||||||
|
|||||||
@@ -13,11 +13,7 @@ from typing import Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
from pipecat.audio.utils import (
|
from pipecat.audio.utils import create_stream_resampler, pcm_to_ulaw, ulaw_to_pcm
|
||||||
create_stream_resampler,
|
|
||||||
pcm_to_ulaw,
|
|
||||||
ulaw_to_pcm,
|
|
||||||
)
|
|
||||||
from pipecat.frames.frames import (
|
from pipecat.frames.frames import (
|
||||||
AudioRawFrame,
|
AudioRawFrame,
|
||||||
CancelFrame,
|
CancelFrame,
|
||||||
@@ -136,6 +132,10 @@ class TwilioFrameSerializer(FrameSerializer):
|
|||||||
serialized_data = await pcm_to_ulaw(
|
serialized_data = await pcm_to_ulaw(
|
||||||
data, frame.sample_rate, self._twilio_sample_rate, self._output_resampler
|
data, frame.sample_rate, self._twilio_sample_rate, self._output_resampler
|
||||||
)
|
)
|
||||||
|
if serialized_data is None or len(serialized_data) == 0:
|
||||||
|
# Ignoring in case we don't have audio
|
||||||
|
return None
|
||||||
|
|
||||||
payload = base64.b64encode(serialized_data).decode("utf-8")
|
payload = base64.b64encode(serialized_data).decode("utf-8")
|
||||||
answer = {
|
answer = {
|
||||||
"event": "media",
|
"event": "media",
|
||||||
|
|||||||
Reference in New Issue
Block a user