stream: handle against zero length payload

Don't send empty payloads in pinospay
This commit is contained in:
Wim Taymans 2016-04-07 11:38:00 +02:00
parent 2d392c7410
commit ccb93c9652
2 changed files with 15 additions and 11 deletions

View file

@ -858,13 +858,15 @@ on_socket_condition (GSocket *socket,
}
priv->buffer.size = need;
/* read data */
len = g_socket_receive (socket,
(gchar *)priv->buffer.data + sizeof (PinosStackHeader),
hdr->length,
NULL,
&error);
g_assert (len == hdr->length);
if (hdr->length > 0) {
/* read data */
len = g_socket_receive (socket,
(gchar *)priv->buffer.data + sizeof (PinosStackHeader),
hdr->length,
NULL,
&error);
g_assert (len == hdr->length);
}
/* handle control messages */
for (i = 0; i < num_messages; i++) {

View file

@ -375,10 +375,12 @@ gst_pinos_pay_chain_pinos (GstPinosPay *pay, GstBuffer * buffer)
gst_buffer_unmap (buffer, &info);
pinos_buffer_clear (&pbuf);
gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (buffer),
fdids_quark, fdids, NULL);
gst_mini_object_weak_ref (GST_MINI_OBJECT_CAST (buffer),
(GstMiniObjectNotify) release_fds, pay);
if (fdids->len > 0) {
gst_mini_object_set_qdata (GST_MINI_OBJECT_CAST (buffer),
fdids_quark, fdids, NULL);
gst_mini_object_weak_ref (GST_MINI_OBJECT_CAST (buffer),
(GstMiniObjectNotify) release_fds, pay);
}
return gst_pad_push (pay->srcpad, buffer);
}